私は 2 つUITapGestureRecognizer
:singleTap
を持ってdoubleTap
おり、2 つの異なるアクションで初期化されています。
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
[singleTap requireGestureRecognizerToFail:doubleTap];
[doubleTap setNumberOfTapsRequired:2];
[imageView addGestureRecognizer:doubleTap];
[imageView addGestureRecognizer:singleTap];
シミュレーターでアプリを実行すると、シングル タップは正しく応答しますが、ダブル タップは応答しません。ダブルクリックしても何も起こらないのですが、シングルタップのアクションが呼び出されていないため( のため)、iOSはダブルタップを認識していると思いますが、[singleTap requireGestureRecognizerToFail:doubleTap];
なぜアクションを実行しないのか理解できませんhandleDoubleTap
。