我的UIToolbar
中有自定义UINavigationController
,带有自定义背景图片。
图像在右侧是半透明的。我遇到的问题是有些视图右下方有按钮,而这些按钮的底部部分无法点按,因为工具栏会阻止它。
我无法在userInteractionEnabled = NO
上设置UIToolBar
,因为该栏包含需要保持互动的UIBarButtonItem
。
有没有办法让条形图忽略点击输入(但不是UIBarButtonItem
s)?
答案 0 :(得分:1)
您可以在工具栏上设置userInteractionEnabled = YES
,但如How to get touches when parent view has userInteractionEnabled set to NO in iOS中所述覆盖hitTest:point
。这使得它忽略了自身的任何触摸,但接受任何子视图的任何触摸(在您的情况下为UIBarButtonItem
):
- (id)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
id hitView = [super hitTest:point withEvent:event];
if (hitView == self) {
return nil;
} else {
return hitView;
}
}
请注意,这需要您继承UIToolbar
。