用UILabel實現文字滾動播放(跑馬燈)效果,uilabel文字滾動
- (void)viewDidLoad { [super viewDidLoad]; //資料來源 self.messageArray = [NSArray arrayWithObjects: @"1", @"2", @"3", nil]; self.msgCount = 0;//從第一條開始顯示}
-(void)viewDidAppear:(BOOL)animated { //播放第一條並加入Timer設定切換間隔時間 [self msgChange]; [NSTimer scheduledTimerWithTimeInterval:5.0f target:self selector:@selector(msgChange) userInfo:nil repeats:YES];}
- (void)msgChange { if (self.msgCount < self.messageArray.count) { self.scrollLabel.text = [self.messageArray objectAtIndex:self.msgCount]; self.msgCount++; } else { self.scrollLabel.text = @"no message";//此處刪除可以改為迴圈滾動播放 } [self.scrollLabel sizeToFit]; CGRect frame = self.scrollLabel.frame; frame.origin.x = [UIScreen mainScreen].bounds.size.width; self.scrollLabel.frame = frame; [UIView beginAnimations:@"scrollLabelTest" context:NULL]; [UIView setAnimationDuration:5.0f]; [UIView setAnimationCurve:UIViewAnimationCurveLinear]; [UIView setAnimationDelegate:self]; [UIView setAnimationRepeatAutoreverses:NO]; [UIView setAnimationRepeatCount:0]; frame = self.scrollLabel.frame; frame.origin.x = -frame.size.width; self.scrollLabel.frame = frame; [UIView commitAnimations];}