2013-05-06 86 views
0

在IOS 6中,如何添加只能检测一次的PinchGesture?ios:pinchGesture只发生一次

我有我添加到pinchGesture一个UIView:

[self addPinchGestureRecognizersToView:self.view]; 

然后附上一个函数来此捏调出一个UIView。问题是当我捏,事件发生几次,使ViewController多次添加子视图取决于事件发生的次数。

那么,我怎么能真正限制它只是一次或删除它在检测到一个捏。我试过了:

[self.view removeGestureRecognizer:UIPinchGestureRecognizer]; 

但是我得到了编译错误。

+2

为什么你不能只保留一次事件调用的次数? – Ushan87 2013-05-06 08:25:21

+0

什么是错误? – CRDave 2013-05-06 09:02:52

回答

0

你应该知道捏手势是一个连续的手势。也就是说,在触摸过程中可以多次识别。

如果您只想识别一次,可以在第一次识别时将其删除。你得到一个编译错误的原因是你应该'记住'你的手势并在以后删除它。

1

感谢您的所有建议。我只是想到了最简单的解决方案 - 添加一个BOOLEAN来检查。其余的工作就像一个魅力。

0

[self.view removeGestureRecognizer:UIPinchGestureRecognizer];

此方法调用无效。 UIPinchGestureRecognizer是一个类不是实例。您必须用您添加的正确识别器替换它。

for (UIGestureRecognizer* recognizer in [self.view.gestureRecognizers copy]) { 
    if ([recognizer isKindOfClass:[UIPinchGestureRecognizer class]]) { 
     [self.view removeGestureRecognizer:recognizer]; 
    } 
}