0

タップジェスチャに応答して数秒間実行されるアニメーションがあります。アニメーションの実行中、UITapGestureRecognizerは追加のタップに応答しません。アニメーションが完了すると、レコグナイザーは再び機能します。

内部でアニメーションを実行してみました

dispatch_async(dispatch_get_main_queue(), etc.

ただし、追加のタップは引き続きブロックされます。内部でアニメーションを実行してみると

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), etc.

その後、アニメーションはまったく表示されません。アニメーションはメインスレッドで実行する必要があることをどこかで読んだことをぼんやりと覚えています。

後続のジェスチャをブロックしないアニメーションを実行するための提案はありますか?ありがとう。

4

1 に答える 1

0

UIViewアニメーションブロックを使用+animateWithDuration:delay:options:animations:completion:している場合は、UIViewAnimationOptionAllowUserInteractionオプションで使用できます。

また、アニメーションはメインスレッドで実行する必要があるというのは正しいことです。

于 2012-12-04T03:02:41.050 に答える