我的UIToolbar
中有一个自定义的UINavigationController
,带有自定义的背景图片。
图像在右侧是半透明的。我遇到的问题是,某些视图的右下角具有按钮,而这些按钮的底部不能被点击,因为工具栏将其阻止。
我无法在userInteractionEnabled = NO
上设置UIToolBar
,因为该栏包含需要保持交互性的UIBarButtonItem
。
有没有一种方法可以使指示条忽略抽头输入(而不是UIBarButtonItem
)?
最佳答案
您可以在工具栏上设置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
子类化。关于ios - UIToolbar-允许在工具栏下方进行交互,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16087346/