2013-02-08 89 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

相關問題