【发布时间】:2014-10-30 16:08:41
【问题描述】:
我的视图有一个带有两个UIBarButtonItem 类型按钮的工具栏。我正在尝试实现一个手势识别器,这样当我点击视图中除工具栏外的任何位置时,我都会调用一个选择器。点击工具栏中的条形按钮项应调用该按钮的操作方法。视图符合UIGestureRecognizerDelegate协议,实现shouldReceiveTouch方法如下:
-(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*,这是一个未记录的类,所以我的 if 语句失败,shouldReceiveTouch 总是返回 YES,我的按钮事件永远不会被调用.
理想情况下,我想说:如果触摸在工具栏中的任何位置,则返回 no。最好的方法是什么?
【问题讨论】:
-
我刚刚发现 stackoverflow.com/questions/3344341/… 有我正在寻找的答案。谢谢!
-
请在您的问题的自写答案中添加该链接并尽快接受,以防止出现没有答案的问题。
标签: ios uitoolbar uigesturerecognizer