アニメーションでUIButtonを動かしたいのですが、ユーザーがタッチすると動いている間、そのイベントを認識したいのですが、アニメーション中にUIButtonはイベントを送信しません。
私の問題を解決してください。
アニメーションでUIButtonを動かしたいのですが、ユーザーがタッチすると動いている間、そのイベントを認識したいのですが、アニメーション中にUIButtonはイベントを送信しません。
私の問題を解決してください。
AllowUserInteraction オプションを試しましたか?
[UIView animateWithDuration:5.0
delay:0.0
options:UIViewAnimationOptionAllowUserInteraction
animations:^{ // move the button }
completion:^(BOOL finished){}];
アニメーション中は、このプロパティの値に関係なく、アニメーションに関係するすべてのビューでユーザー操作が一時的に無効になります。アニメーションを構成するときに UIViewAnimationOptionAllowUserInteraction オプションを指定することで、この動作を無効にすることができます。
また、実装することができます
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
スーパービューでイベントをキャッチし、イベントがボタンを指しているかどうかを確認します。
UIButton
inherit from UIControl
which inheritとしてUIView
、ブロックベースの方法を使用してボタンをアニメーション化していると思いますanimateWithDuration:delay:options:animations:completion:
UIViewAnimationOptionAllowUserInteraction
UIButton をアニメーション化してユーザー インタラクションを認識できるようにするときに、オプションを追加する必要があります。実験したように、アニメーション中のユーザー インタラクションはデフォルトで無効になっています。