0

私は厄介な問題を抱えています。

ジェスチャレコグナイザーを追加しています:

UITapGestureRecognizer* tapGesture =[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(DoubleClick:)];
tapGesture.numberOfTapsRequired = 2;
[self.view addGestureRecognizer:tapGesture];

これは機能しますが、ビューにあるコントロールをシングルクリックすると、「解放」が遅くなります。つまり、UIButtonのリリースは通常よりも遅くなります。UIView内のすべてのコントロールについても同じことが起こります。touchesEnded:関数は遅延して呼び出されます。

tapGesture.numberOfTapsRequired = 1を使用すると、正常に機能します。ただし、シングルクリックではなくダブルクリックが必要です。

お知らせ下さい。どうも。

4

1 に答える 1

2

タップして一度離すと、それがシングルタップなのかダブルタップの前半なのかをどうやって知ることができますか?

回答:お待ちください。2回目のタップが来たら、ダブルタップでした。一定の時間が経過し、2回目のタップが発生しなかった場合、それは1回のタップでした。delaysTouchesEnded詳細については、をチェックしてくださいUIGestureRecognizer

この問題を回避するには、互いに競合しないジェスチャを作成します。「2本指タップ」と「1指タップ」では、ジェスチャが終了する前に使用された指の数がわかるため、遅延は発生しません。

于 2013-03-25T17:29:00.773 に答える