你的位置:首页 > 操作系统

[操作系统]用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];}