0

わかりました、丸い rect ボタンとそれに接続されたアクション メソッドがあるとし-(IBAction)btnclicked:(id)senderます。ボタンが押されると、アニメーションが起動します。上記のアクションメソッドでこれを使用しました-- imageview.animationImages = images;. これはUIImageViewimageviewオブジェクトへのポインターでimagesあり、画像の配列です。今私が欲しいのは、アニメーションが進行している間、ボタンを無効にしたままにすることです。そのために私はこれを試しました:

if (imageview) {
    btn.enabled = NO;
}

これはもちろんボタンを無効にしますが、アニメーションが終わった後にどうすれば有効に戻すことができますか? NSTimerアニメーションと同時にボタンを使用して無効にすることを考えましたが、それは良い方法ではありません(このタイマーをアニメーションと同期させるのは難しいです)。また、アニメーションが終了した後もアニメーションを無効のままにします。私がしようとしていることを行う良い方法があるかどうか教えてください。ありがとう

4

3 に答える 3

0

あなたが使用することができます

if ( !imageview.isAnimating) {
  btn.enabled = Yes;
}

このプロパティはNo、アニメーションが終了したときになります。つまり、アニメーションの後にbtn有効になります。disableアニメーションの開始時にのみ必要です。

これが役立つことを願っています

于 2012-07-17T10:07:09.250 に答える
0

Animation Completion ブロックはあなたが探しているものだと思います。

[UIView animateWithDuration:0.5
                          delay:0.1
                        options: UIViewAnimationOptionCurveEaseOut
                     animations:^
     {
         // Your animation
     }
                     completion:^(BOOL finished)
     {
         //Here do whatever you like after animation ends
     }];

参照: - https://stackoverflow.com/a/14900987/3411787

于 2015-04-20T06:54:59.923 に答える
0

この種の状況を解決する最善の方法はUIAnimation、完了ブロックを実装することです。SOのこの投稿を見てください。

お役に立てれば。

于 2012-07-17T09:35:06.137 に答える