2013-02-08 64 views

回答

3

您可以在视图控制器中实现此功能,并将其分配给手势识别器的代表。

- (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:不适合。

+0

非常感谢。对于像我这样的初学者,你不知道如何在代码中分配委托:[recognizer setDelegate:self];我知道它很糟糕,但我一直使用自动指派代理人的方式。我希望书籍和教程能够这样。 – user1898829 2013-02-09 12:26:45

+0

只要'self'实现了'UIGestureRecognizerDelegate',[识别器setDelegate:self]就没有什么问题了。 – 2013-02-09 12:59:37

相关问题