0
我有一个按钮和一个手势识别,当按下按钮时,只应调用一个方法。我有一个按钮和一个手势识别,当按下按钮时,只应该调用一种方法
大多数情况下只有手势识别被称为哪个很好,但是每个都没有,然后按钮被调用,导致问题。
我有一个视图,然后滚动视图。我的所有按钮都在滚动视图上
我有一个按钮和一个手势识别,当按下按钮时,只应调用一个方法。我有一个按钮和一个手势识别,当按下按钮时,只应该调用一种方法
大多数情况下只有手势识别被称为哪个很好,但是每个都没有,然后按钮被调用,导致问题。
我有一个视图,然后滚动视图。我的所有按钮都在滚动视图上
您可以在视图控制器中实现此功能,并将其分配给手势识别器的代表。
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
CGPoint p = [gestureRecognizer locationInView:self.view];
UIView *view = [sefl.view hitTest:p withEvent:nil];
if ([view isKindOfClass:[UIButton class]]) {
return NO;
}
return YES;
}
,或者你可以用类似的逻辑实现- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
如果gestureRecognizerShouldBegin:
不适合。
非常感谢。对于像我这样的初学者,你不知道如何在代码中分配委托:[recognizer setDelegate:self];我知道它很糟糕,但我一直使用自动指派代理人的方式。我希望书籍和教程能够这样。 – user1898829 2013-02-09 12:26:45
只要'self'实现了'UIGestureRecognizerDelegate',[识别器setDelegate:self]就没有什么问题了。 – 2013-02-09 12:59:37