2012-01-25 7 views
1

私は基本的にサブビューを追加するアクションを実行するUITapGestureRecognizerを持っています。私がタップすると、私はサブビューを一度ロードするだけですが、本当に速くタップすると、アクションは2回実行されます。どうすればこれを防ぐことができますか?基本的にはタップした後、タップジェスチャ認識機能を一時的に無効にしたいと思っています。これを行う方法はありますか?遅延UITapGestureRecognizer

答えて

0

セレクタで認識機能が呼び出すタップ認識機能を無効にします。認識子をタップしてサブビューを追加したビューで、didAddSubviewを上書きし、そこから再度有効にします。新しいサブビューが追加されている間は、レコグナイザは非アクティブのままです。追加をアニメートする場合は、ダブルタップに反応するのを避けるために十分な遅延が必要です。

+0

私はdidAddSubviewでそれを有効にする方法のいくつかの例を教えてくれますか? – aherlambang

+0

@aherlambangジェスチャ認識機能には「有効」というプロパティがあります。セレクタで 'NO'に設定し、' didAddSubview'で 'YES'に戻ります。 – dasblinkenlight

0

遅延を持つセレクタを使用することはいつでも可能です。

- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay 

また、NSTimerオブジェクトも使用します。