2011-12-31 8 views
1

ボタンを押してアニメーションを開始します。ボタンのコードは次のとおりです:アニメーションの再生が終了したときの確認方法/テスト方法

-(IBAction)startAnimation:(id)sender{ 
stick.animationImages = [NSArray arrayWithObjects: 
         [UIImage imageNamed:@"photo 1.JPG"], 
         [UIImage imageNamed:@"photo 2.JPG"], 
         [UIImage imageNamed:@"photo 3.JPG"], 
         [UIImage imageNamed:@"photo 4.JPG"], 
         [UIImage imageNamed:@"photo 5.JPG"],nil]; 
[stick setAnimationRepeatCount:200]; 
stick.animationDuration = 0.5; 
[stick startAnimating]; 
} 

アニメーションが完了したら、ボタンを表示して別のアニメーションを画面に表示します。アニメーションの再生が完了したら、どのようにテストしたり、見たりすることができますか?前もって感謝します!

答えて

2

あなたはstickが何であるかは教えていませんが、UIImageViewのように見えます。 isAnimatingに電話をかけるだけで、アニメーションがまだ実行されているかどうかを確認することができますが、通知も受け取らず、代理人もいません。停止時間(200 * 0.5)を計算し、タイマーを設定することができます(わずかな安全マージンを追加します)。これは100%正確ではありませんが、 "十分に良い"かもしれません。

+0

これを行う簡単な方法はありませんか?アニメーションが終了したらボタンを追加したいだけです!ヘルプTHnaks! – iProRage

+0

残念ながら、より簡単な方法はないようです。 [reference](http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImageView_Class/Reference/Reference.html)を見てください。代理人も通知もありません。 – DarkDust

+0

大丈夫ですので、NSTimerを投げ込んで、特定の時間に達すると、ボタンを有効にします(または「隠し」プロパティを「いいえ」に設定します)。助けてくれてありがとう! – iProRage

-1

ブロックを使用してアニメーションを呼び出した場合は、完了ブロックを使用できます。

Here is a tutorial you can refer to iOSでアニメーションルーチンを呼び出す方法がいくつかあります。このチュートリアルでは、ブロックを使用したくない場合(UIViewのsetAnimationDidStopSelectorメソッド)、完了するためにできることも示しています。

関連する問題