たとえば、2 つの異なるジェスチャーが必要なビューがあります。
タップしてアクション A を実行します。ダブルタップしてアクション B を実行します。
問題は UITapGestureRecognizer にあり、最低限必要なタップ数しか設定できません。シングル タップ ジェスチャ レコグナイザーは、ダブル タップ ジェスチャ レコグナイザーがダブル タップを認識する前にタップを認識します。
例:
_tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureRecognized:)];
_tapGestureRecognizer.numberOfTouchesRequired = 1;
_tapGestureRecognizer.numberOfTapsRequired = 1;
[self addGestureRecognizer:_tapGestureRecognizer];
_doubleTapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTapGestureRecognized:)];
_doubleTapGestureRecognizer.numberOfTouchesRequired = 1;
_doubleTapGestureRecognizer.numberOfTapsRequired = 2;
[self addGestureRecognizer:_doubleTapGestureRecognizer];
ダブルタップを非常に速くしても、シングルタップは常に認識されます。タップジェスチャレコグナイザーがダブルタップジェスチャレコグナイザーが認識するかどうかを待機して確認するように設定するにはどうすればよいですか?