29

私は見解を持っています。そのためのタップジェスチャの種類を定義したいと思います。

したがって、ユーザーがビューをシングルタップすると、ビューはAを実行します。ユーザーがビューをダブルタップすると、Aを実行せずにBを実行します。

ビューに2つのUITapGestureRecognizerを追加しました。シングルタップはnumberOfTapsRequired=1です。ダブルタップはnumberOfTapsRequired=2です。

また、リターンNOを設定しました

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
     return NO;
}

しかし、私はそれらが互いに矛盾していることに気づきました。つまり、ビューをダブルタップしても、AとBの両方が呼び出されます。

どうすればこの問題を解決できますか?

ありがとう

4

1 に答える 1

65

次のコード行を追加することで、これを回避できます。これにより、シングルタップレコグナイザーがダブルタップレコグナイザーに障害が発生した場合にのみ起動するようになります。

    [singleTapRecognizer requireGestureRecognizerToFail:doubleTapRecognizer];
于 2011-08-24T12:07:59.527 に答える