滚动通知,最近有人跟我说滚动通知怎么设置都不成功,就是类似于跑马灯一样的效果,其实这是一个很简单的功能。我们就用UIView提供的一个动画效果就可以。
//MARK:加动画
- (void)addAnimation
{
//先去除rollLabel的全部动画
[self.rollLabel.layer removeAllAnimations];
CGRectframe = self.rollLabel.frame;
frame.origin.x=self.hornButton.frame.size.width;
self.rollLabel.frame= frame;
floatinterval = self.rollLabel.frame.size.width/35;
[UIView beginAnimations:@"Animation"context:NULL];
[UIView setAnimationDuration:interval];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDelegate:weakSelf];
[UIView setAnimationRepeatAutoreverses:NO];
[UIView setAnimationRepeatCount:9999999];
frame = self.rollLabel.frame;
frame.origin.x= - self.rollLabel.frame.size.width;
self.rollLabel.frame= frame;
[UIView commitAnimations];
}
其中
这一句是根据rollLabel的长度设置动画时长,所以如果rollLabel的内容很多也可以正常使用。
这里只是加动画的其中一部分,加动画之前要先根据内容长度设置好rollLabel的width。