我有一个自定义UIToolbar,UINavigationController带有自定义背景图像。右边的图像是半透明的。我遇到的问题是某些视图在右下角有按钮,并且无法点击这些按钮的底部,因为工具栏会阻止它。
我无法userInteractionEnabled = NO在 上设置UIToolBar,因为该栏包含UIBarButtonItem需要保持交互的 s。
有没有办法让栏忽略点击输入(但不是UIBarButtonItems)?
我有一个自定义UIToolbar,UINavigationController带有自定义背景图像。右边的图像是半透明的。我遇到的问题是某些视图在右下角有按钮,并且无法点击这些按钮的底部,因为工具栏会阻止它。
我无法userInteractionEnabled = NO在 上设置UIToolBar,因为该栏包含UIBarButtonItem需要保持交互的 s。
有没有办法让栏忽略点击输入(但不是UIBarButtonItems)?
您可以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.