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

当点击并松开一次时,你怎么知道它是单击还是只是双击的前半部分?

答:你等。如果第二次敲击来了,那就是双击。如果经过了一定的时间并且没有发生第二次点击,那么这是一次点击。查看delaysTouchesEnded有关UIGestureRecognizer它的更多信息。

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

于 2013-03-25T17:29:00.773 回答