我的视图有一个带有两个UIBarButtonItem
类型按钮的工具栏。我试图实现一个手势识别器,当我点击视图中除了工具栏之外的任何地方时,我会调用一个选择器。点击工具栏上的条形按钮项应该调用该按钮的动作方法。视图符合UIGestureRecognizerDelegate
协议和如下实现shouldReceiveTouch
方法:在iOS中,如何禁止在工具栏中识别手势?
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldReceiveTouch:(UITouch *) touch {
// Disallow recognition of tap gestures in the toolbar
if ((touch.view == self.sideOneBarButton.customView) &&
(gestureRecognizer == self.tapRecognizer)) {
return NO;
}
return YES;
}
的问题是,当我工具栏上的按钮点击,touch.view
是UTToolbarTextButton*
类型,其是一个未记录的类的,所以我的如果语句失败并且shouldReceiveTouch
总是返回YES,并且我的按钮事件永远不会被调用。
理想情况下,我想说:如果触摸位于工具栏中的任何位置,则返回no。什么是最好的方法来做到这一点?
我刚刚发现http://stackoverflow.com/questions/3344341/uibutton-inside-a-view-that-has-a-uitapgesturerecognizer其中有我一直在寻找的答案。谢谢! – LandedGently 2011-05-10 00:36:19
请将该链接添加到自己的问题答案中,并尽快接受,以避免无答案的问题。 – Till 2011-05-10 01:36:25