用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]; }
posted on 2015-10-24 13:59 bibibi_liuliu 阅读(2224) 评论(1) 编辑 收藏 举报