在IOS 6中,如何添加仅检测一次的PinchGesture?
我有一个UIView,我添加到pinchGesture:
[self addPinchGestureRecognizersToView:self.view];
然后我将一个函数附加到此Pinch以调出一个uiview。问题是当我捏,事件发生几次,使ViewController多次添加子视图取决于事件发生的次数。
那么我怎样才能将其实际限制为1次或在检测到捏时将其移除。我试过了:
[self.view removeGestureRecognizer:UIPinchGestureRecognizer];
但是我遇到了编译错误。
答案 0 :(得分:1)
感谢所有建议。我只想到了最简单的解决方案 - 添加一个BOOLEAN进行检查。其余的工作就像一个魅力。
答案 1 :(得分:0)
你应该知道捏手势是一个连续的手势。也就是说,在触摸过程中可以多次识别它。
如果您只想识别一次,则可以在第一次识别时将其删除。您收到编译错误的原因是您应该“记住”您的手势并在以后删除它。
答案 2 :(得分:0)
[self.view removeGestureRecognizer:UIPinchGestureRecognizer];
此方法调用无效。 UIPinchGestureRecognizer
是一个类而不是实例。您必须使用添加的正确识别器替换它。
for (UIGestureRecognizer* recognizer in [self.view.gestureRecognizers copy]) {
if ([recognizer isKindOfClass:[UIPinchGestureRecognizer class]]) {
[self.view removeGestureRecognizer:recognizer];
}
}