2011-09-12 14 views
2

:今、アニメーションが終了する秒のカップルを取る可能性があるUIViewのアニメーションの終了

 [UIView beginAnimations:nil context:NULL]; 
     [UIView setAnimationDuration:1]; 
     //do some animation 
     [UIView commitAnimations]; 

。では、アニメーションが終了したときを知る方法はありますか?

答えて

2

私はまだこれを使用していませんが、アニメーションが終了したときに呼び出されるセレクタを定義するメソッドsetAnimationDidStopSelectorがあります。

AppleのUIViewのドキュメントも参照してください。

Ray Wenderlich'sサイト

+0

tipycalFlowが述べたように、blocskも同様に動作しますが、4以上のデバイスでのみ動作します。 – Frank

+0

真。このSOFの質問もチェックしてください:http://stackoverflow.com/questions/7008838/multistage-animation-using-blocks/7009149#7009149 – tipycalFlow

+1

ニース:)これはしばらくの間に試してみる必要があります – Frank

9

使用としてアップルが提供する最新のブロックベースのアニメーション法上の例でもあります:あなたが使用している方法はすぐに廃止される予定

[UIView animateWithDuration:0.5 
         delay:0.0 
        options:UIViewAnimationOptionBeginFromCurrentState 
       animations:^{ 
        //animation block 
       } 
       completion:^(BOOL finished){//this block starts only when 
       //the animation in the upper block ends 
       //so you know when exactly the animation ends 
    }]; 

が...

+1

完了ブロック私は完了ブロックをすぐに実行することができますか? –

+0

いいえ...完了ブロックに時間がかかるとは思わない。 Appleのドキュメンテーション - 「アニメーションシーケンスが終了したときに実行されるブロックオブジェクト」何かを見逃している可能性があります。まだ問題が見つかった場合は質問として投稿してください。 – tipycalFlow

関連する問題