UITapGestureRecognizer双击减慢释放

时间:2013-03-25 17:16:04

标签: ios uigesturerecognizer touches

我有一个恼人的问题。

我正在添加一个手势识别器:

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

这样可行,但是当我单击我视图上的任何控件时,“释放”速度很慢。即UIButton的释放速度比正常情况慢。对于UIView中的所有控件都会发生同样的情况。 touchesEnded:函数被延迟调用。

当我使用tapGesture.numberOfTapsRequired = 1时,它工作正常。但是我想要双击,而不是单击。

请指教。 THX。

1 个答案:

答案 0 :(得分:2)

当点击并放开一次时,您如何知道它是单击还是只是双击的前半部分?

答案:你等一下。如果第二个水龙头来了,那就是双击。如果经过了一定的时间并且没有发生第二次敲击,那么只需点击一下即可。有关详细信息,请查看delaysTouchesEnded上的UIGestureRecognizer

我通过创建不会相互冲突的手势来解决这个问题。 “双指点击”和“单指点击”不会导致延迟,因为您将知道在手势结束之前使用了多少手指。