我正在开发一个应用程序,其中我在视图上应用UILongPressGesture识别器,并实现了为事件实现的代码(发生时长按手势)。
处理手势的代码用方法写入,当我试图长按不需要的视图时,方法被调用两次。我指定的最短时间为2秒。我不确定我是否正在按下视图2秒钟。在2秒的时间过后,该方法会被调用吗?
有人可以在这方面帮助我,以及当用户长时间按下超过指定的最小时间时如何处理情况,或者是否有其他原因让方法被调用两次?
提前预订
答案 0 :(得分:2)
为手势识别器状态UIGestureRecognizerStateBegan
和UIGestureRecognizerStateRecognized
调用处理程序两次。您可能想要处理UIGestureRecognizerStateRecognized
。所以在处理程序中执行此操作,
- (void)longPress:(UILongPressGestureRecognizer *)gesture {
if ( gesture.state == UIGestureRecognizerStateRecognized ) {
// Handle long press.
}
}