UILongPressGestureRecognizer 给出奇怪的结果

Posted

技术标签:

【中文标题】UILongPressGestureRecognizer 给出奇怪的结果【英文标题】:UILongPressGestureRecognizer giving weird results 【发布时间】:2011-06-16 16:43:30 【问题描述】:

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

处理手势的代码写在一个方法中,当我试图长按不想要的视图时,该方法被调用了两次。我指定了最少 2 秒的时间。我不确定我是否正在按下视图 2 秒。该方法会在 2 秒后被调用吗?

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

tnx 提前

【问题讨论】:

【参考方案1】:

对于手势识别器状态UIGestureRecognizerStateBeganUIGestureRecognizerStateRecognized,处理程序被调用了两次。您可能想要处理UIGestureRecognizerStateRecognized。所以在处理程序中这样做,

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

【讨论】:

tnx 回复 deepak,我以不同的方式解决了上述问题。我尝试了你的方法,但它对我不起作用。反正 tnx 的回复......

以上是关于UILongPressGestureRecognizer 给出奇怪的结果的主要内容,如果未能解决你的问题,请参考以下文章