2012-03-07 11 views
2

アニメーションで表示されるメッセージを表示する必要があります。アニメーションで数秒後に非表示にする必要があります。UILabelをアニメーション表示する

これはどのように可能ですか?

ありがとうございました。

について

+0

http://stackoverflow.com/questions/3438880/animating-uilabel-fade-in-outへの回答を確認してください。これはあなたのニーズを満たしていると思います。 –

+1

上記のリンクは廃止予定のアニメーション方法を使用しているため、指定された回答を使用してください。与えられた答えはより多くの直感的なブロックを使用して、リンゴは今からそれを行う方法をお勧めします。 –

答えて

12

簡単に、アニメーションを連鎖させてみてください。最初にfadeIn、次にfadeOut。コードの下にあるものは、最初にalphaを0に設定します。次に、ラベルの外観を1秒でアニメートします。これが終わるとすぐに、4秒待ってからfadeOutアニメーションを同じ方法で開始してください。

[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でアニメーションを連動させる方法は、最も効果的な方法の1つです。

関連する問題