如何取消或重置 UIGestureRecognizer
?问题是,如果我在手势期间将 waitForSomething
设置为 NO
,则下一个事件是 UIGestureRecognizerStateChanged
。但第一个事件应该是 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;
}
}
谢谢你的帮助!
最佳答案
我明白了! :-)
也许其他人遇到了这个问题,这里是解决方案:
if (waitForSomething) {
recognizer.enabled = NO;
recognizer.enabled = YES;
return;
}
下一个事件将是 UIGestureRecognizerStateFailed
,然后是 UIGestureRecognizerStateBegan
。
关于iphone - 如何取消/重置 UIGestureRecognizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6593772/