From a1e5fd32e6b501eefd78a45b08c9ddf4f38e06a6 Mon Sep 17 00:00:00 2001 From: caydenliew Date: Thu, 15 Mar 2012 09:11:17 +0800 Subject: [PATCH] prevent re-adding scrollview if already exist --- .../UserInterfaceState.xcuserstate | Bin 13734 -> 14015 bytes CLTickerViewDemo/CLTickerView/CLTickerView.m | 50 +++++++++--------- 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/CLTickerViewDemo.xcodeproj/project.xcworkspace/xcuserdata/caydenliew.xcuserdatad/UserInterfaceState.xcuserstate b/CLTickerViewDemo.xcodeproj/project.xcworkspace/xcuserdata/caydenliew.xcuserdatad/UserInterfaceState.xcuserstate index 2525dbf227f4a79692d3febee22dda21d054bf8e..17059f4cd4dc862ca3b69217c93e6f5e41a65b14 100644 GIT binary patch delta 7478 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 delta 7259 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 T1J_fG1An>3fxk8X*VX?YYYe|b diff --git a/CLTickerViewDemo/CLTickerView/CLTickerView.m b/CLTickerViewDemo/CLTickerView/CLTickerView.m index 293e10d..fc1a805 100644 --- a/CLTickerViewDemo/CLTickerView/CLTickerView.m +++ b/CLTickerViewDemo/CLTickerView/CLTickerView.m @@ -42,32 +42,34 @@ - (CGSize)labelSizeForText:(NSString *)text forFont:(UIFont *)font { - (void)drawRect:(CGRect)rect { // Drawing code - CGSize labelSize = [self labelSizeForText:self.marqueeStr forFont:self.marqueeFont]; - labelWidth = labelSize.width; - - self.scrollview = [[CLScrollview alloc] initWithFrame:CGRectMake(0, 0, + if (self.scrollview == nil) { + CGSize labelSize = [self labelSizeForText:self.marqueeStr forFont:self.marqueeFont]; + labelWidth = labelSize.width; + + self.scrollview = [[CLScrollview alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; - self.scrollview.delegate = self; - self.scrollview.customDelegate = self; - - UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(self.frame.size.width, - 0, - labelSize.width, - self.frame.size.height)]; - label.font = self.marqueeFont; - label.backgroundColor = [UIColor clearColor]; - label.textColor = [UIColor whiteColor]; - label.text = self.marqueeStr; - - [self.scrollview addSubview:label]; - [self addSubview:self.scrollview]; - [label release]; - - contentWidth = 2 * self.frame.size.width + labelSize.width; - [self.scrollview setContentSize:CGSizeMake(contentWidth, self.frame.size.height)]; - startScrolling = NO; - [self startScrolling]; + self.scrollview.delegate = self; + self.scrollview.customDelegate = self; + + UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(self.frame.size.width, + 0, + labelSize.width, + self.frame.size.height)]; + label.font = self.marqueeFont; + label.backgroundColor = [UIColor clearColor]; + label.textColor = [UIColor whiteColor]; + label.text = self.marqueeStr; + + [self.scrollview addSubview:label]; + [self addSubview:self.scrollview]; + [label release]; + + contentWidth = 2 * self.frame.size.width + labelSize.width; + [self.scrollview setContentSize:CGSizeMake(contentWidth, self.frame.size.height)]; + startScrolling = NO; + [self startScrolling]; + } } - (void)dealloc {