取消iPhone中UIBarbutton上的点击手势
我已将轻触手势识别器添加到视图中。我的视图底部有一个图像和一个UIToolBar,还有几个UIBarButton。我想取消对这些按钮的任何触摸。我正在尝试使用以下方法取消触摸。如何检测触摸是否在工具栏上或任何工具栏按钮上?框架也没有为栏按钮定义取消iPhone中UIBarbutton上的点击手势,iphone,uibarbuttonitem,uigesturerecognizer,Iphone,Uibarbuttonitem,Uigesturerecognizer,我已将轻触手势识别器添加到视图中。我的视图底部有一个图像和一个UIToolBar,还有几个UIBarButton。我想取消对这些按钮的任何触摸。我正在尝试使用以下方法取消触摸。如何检测触摸是否在工具栏上或任何工具栏按钮上?框架也没有为栏按钮定义 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { if (gestureRecog
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if (gestureRecognizer == tapRecognizer) {
if (touch.view==barbutton/*toolbar or bar button item*/)
{
return NO;
}
}
return YES;
}
这是假设工具栏和
self.view
位于同一坐标空间中。如果没有,则必须使用UIView的坐标转换方法(convertPoint:toView:
)使空格匹配。按钮是第一个响应者,它们的UITuuchup或其他事件将首先触发,不会传播到背景视图
您可以对按钮进行子分类,并让触摸开始/移动/结束:
[self.nextResponder touchesBegan:touches withEvent:event];
让您的backing视图为他们处理所有事件,在这种情况下,您的手势代码应该可以工作
[self.nextResponder touchesBegan:touches withEvent:event];