UILongPressGestureRecognizer给出了奇怪的结果

时间:2011-06-16 16:43:30

标签: iphone ipad gesture-recognition

我正在开发一个应用程序,其中我在视图上应用UILongPressGesture识别器,并实现了为事件实现的代码(发生时长按手势)。

处理手势的代码用方法写入,当我试图长按不需要的视图时,方法被调用两次。我指定的最短时间为2秒。我不确定我是否正在按下视图2秒钟。在2秒的时间过后,该方法会被调用吗?

有人可以在这方面帮助我,以及当用户长时间按下超过指定的最小时间时如何处理情况,或者是否有其他原因让方法被调用两次?

提前预订

1 个答案:

答案 0 :(得分:2)

为手势识别器状态UIGestureRecognizerStateBeganUIGestureRecognizerStateRecognized调用处理程序两次。您可能想要处理UIGestureRecognizerStateRecognized。所以在处理程序中执行此操作,

- (void)longPress:(UILongPressGestureRecognizer *)gesture {
    if ( gesture.state == UIGestureRecognizerStateRecognized ) {
        // Handle long press.
    }
}