如何取消/重置UIGestureRecognizer [英] How to cancel/reset an UIGestureRecognizer
本文介绍了如何取消/重置UIGestureRecognizer的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何取消或重置 UIGestureRecognizer
?问题是,如果我在手势中将 waitForSomething
设置为否
,则下一个事件是 UIGestureRecognizerStateChanged
。但第一个事件应该是 UIGestureRecognizerStateBegan
。
how can I cancel or reset an UIGestureRecognizer
? The problem is, that if I set waitForSomething
to NO
during a gesture, the next event is UIGestureRecognizerStateChanged
. But the first event should be UIGestureRecognizerStateBegan
.
我的代码:
- (void) panned:(UIPanGestureRecognizer *) recognizer {
if (waitForSomething) {
// cancel or reset the recognizer!
// because the next event should be UIGestureRecognizerStateBegan and not UIGestureRecognizerStateChanged
return;
}
switch (recognizer.state) {
case UIGestureRecognizerStateBegan:
// important initialisation code
break;
case UIGestureRecognizerStateChanged:
// do something
break;
}
}
谢谢你的帮助!
推荐答案
我明白了! : - )
I got it! :-)
也许其他人在这个问题上运行,这是解决方案:
Maybe someone else runs in this problem, here is the solution:
if (waitForSomething) {
recognizer.enabled = NO;
recognizer.enabled = YES;
return;
}
下一个事件将是 UIGestureRecognizerStateFailed
后跟 UIGestureRecognizerStateBegan
。
这篇关于如何取消/重置UIGestureRecognizer的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文