首頁想要跑最新消息的訊息,可以怎麼做呢?前不久旋轉影像的動畫有提到一個方法,在這裡可以直接拿來修改~
先把想要播放的訊息存放在預定的陣列,接著設定label開始的位置和結束的位置,block中判斷結束後想繼續播放,就呼叫自身方法,看程式就很好懂嚕~
-(void)labelMoving
{
if (self.newsSequence == [self.restartNewsArr count]) {
self.newsSequence = 0;
}
[self.newsMessageLabel setText:[[self.restartNewsArr objectAtIndex:self.newsSequence] objectForKey:TRServerKeyNewsText]];
[self.newsMessageLabel setCenter:CGPointMake(160, 183)];
[self.newsMessageLabel setAlpha:0.0];
[UIView animateWithDuration:3 delay:0 options:UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionCurveLinear animations:^{
self.newsSequence++;
[self.newsMessageLabel setCenter:CGPointMake(160, 163)];
[self.newsMessageLabel setAlpha:1.0];
} completion:^(BOOL finished) {
if (finished) {
[self performSelector:@selector(labelMoving) withObject:nil afterDelay:2.0];
}
}
];
}
上述程式碼設定label起始中心位置(160, 183)且透明度0.0、終止位置(160,163)且透明度1.0,執行後效果就是由下而上的跑馬燈,訊息從完全透明到完全不透明~
可以設定動畫效果的屬性有:
- frame
- bounds
- center
- transform
- alpha
- backgroundColor
- contentStretch
有空來試試看效果如何,未來可用在遊戲或動畫上~
參考:老闆的夥伴。
隨意留個言吧:)~