2011-05-09 51 views

回答

15

您可以看看SimpleGestureRecognizers示例项目。

http://developer.apple.com/library/ios/#samplecode/SimpleGestureRecognizers/Introduction/Intro.html

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { 

    // Disallow recognition of tap gestures in the button. 
    if ((touch.view == button) && (gestureRecognizer == tapRecognizer)) { 
     return NO; 
    } 
    return YES; 
} 
+0

的gestureRecognizer.view被列为总体视图,而不是工具栏/按钮。 – smokingoyster 2011-05-11 14:02:45

+0

我更新了这个例子。 – jaminguy 2011-05-11 18:42:46

+3

此if语句用于忽略工具栏中的每个按钮。花了我一分钟找到它,认为它可能值得添加。如果([touch.view isDescendantOfView:_toolbar]) – smokingoyster 2011-05-12 17:23:27

0

在夫特:

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool { 
    if touch.view is UIButton { 
     return false 
    } 
    return true 
}