【问题标题】:UITapGestureRecognizer double click slows down releaseUITapGestureRecognizer 双击减慢释放
【发布时间】:2013-03-25 17:16:04
【问题描述】:

我有一个烦人的问题。

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

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

这可行,但是当我单击视图中的任何控件时,“释放”速度很慢。 IE。 UIButton 的释放速度比正常情况要慢。我在 UIView 中的所有控件也是如此。 touchesEnded: 函数被延迟调用。

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

请指教。 谢谢。

【问题讨论】:

    标签: ios uigesturerecognizer touches


    【解决方案1】:

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

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

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

    【讨论】:

    • 好的,但我期待单击会传递到我视图中的其他控件。好的,我通过实现单击并自己检测点击之间的时间来修复它。
    猜你喜欢
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    • 2013-10-08
    相关资源
    最近更新 更多