我有一个自定义UIToolbar
,UINavigationController
带有自定义背景图像。右边的图像是半透明的。我遇到的问题是某些视图在右下角有按钮,并且无法点击这些按钮的底部,因为工具栏会阻止它。
我无法userInteractionEnabled = NO
在 上设置UIToolBar
,因为该栏包含UIBarButtonItem
需要保持交互的 s。
有没有办法让栏忽略点击输入(但不是UIBarButtonItem
s)?
我有一个自定义UIToolbar
,UINavigationController
带有自定义背景图像。右边的图像是半透明的。我遇到的问题是某些视图在右下角有按钮,并且无法点击这些按钮的底部,因为工具栏会阻止它。
我无法userInteractionEnabled = NO
在 上设置UIToolBar
,因为该栏包含UIBarButtonItem
需要保持交互的 s。
有没有办法让栏忽略点击输入(但不是UIBarButtonItem
s)?
您可以userInteractionEnabled = YES
在工具栏上进行设置,但按照How to get touches when parent view has userInteractionEnabled set to NO in iOShitTest:point
中的描述进行覆盖。这使它忽略对自身的任何接触,但接受对任何子视图的任何接触(在您的情况下为 s ):UIBarButtonItem
- (id)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
id hitView = [super hitTest:point withEvent:event];
if (hitView == self) {
return nil;
} else {
return hitView;
}
}
请注意,这将要求您对UIToolbar
.