Just a Computer Graphics Studio & My Life

首頁想要跑最新消息的訊息,可以怎麼做呢?前不久旋轉影像的動畫有提到一個方法,在這裡可以直接拿來修改~


先把想要播放的訊息存放在預定的陣列,接著設定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

有空來試試看效果如何,未來可用在遊戲動畫上~

參考:老闆的夥伴。

Advertisements

發表留言

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

標籤雲

%d 位部落客按了讚: