2012-03-07 199 views
2

我需要顯示一條消息,該消息與動畫一起出現,並在動畫幾秒後隱藏。顯示UILabel動畫

有誰知道這是可能的嗎?

非常感謝您的一切。

關於

+0

查看http://stackoverflow.com/questions/3438880/animating-uilabel-fade-in-out的答案,我認爲這將滿足您的需求。 – 2012-03-07 14:25:38

+1

使用給定的答案,因爲上面的鏈接使用不推薦的動畫方式。給定的答案使用塊,這是更直觀,蘋果建議從現在開始做的方式。 – 2012-03-07 14:32:19

回答

12

很簡單,試着將動畫鏈接在一起。首先淡入,然後淡出。下面的代碼首先將alpha設置爲0.然後在1秒內對標籤的外觀進行動畫處理。一旦完成,等待4秒鐘,然後以相同的方式開始淡出輸出動畫。

[label setText:@"some text"]; 
[label setAlpha:0.0]; 
[UIView animateWithDuration:1.0 
         delay:0 
        options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction 
       animations:^(void) 
{ 
    [label setAlpha:1.0]; 
} 
       completion:^(BOOL finished) 
{ 
    if(finished) 
    { 
     [UIView animateWithDuration:1.5 
           delay:4 
          options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction 
          animations:^(void) 
      { 
       [label setAlpha:0.0]; 
      } 
          completion:^(BOOL finished) 
      { 
       if(finished) 
        NSLog(@"Hurray. Label fadedIn & fadedOut"); 
      }]; 
    } 
}]; 

這種在iOS中鏈接動畫的方法是最有效的方法之一。