UIToolbar - 允许工具栏下方的交互

时间:2013-04-18 15:40:03

标签: ios objective-c ipad uibarbuttonitem uitoolbar

我的UIToolbar中有自定义UINavigationController,带有自定义背景图片。 图像在右侧是半透明的。我遇到的问题是有些视图右下方有按钮,而这些按钮的底部部分无法点按,因为工具栏会阻止它。

我无法在userInteractionEnabled = NO上设置UIToolBar,因为该栏包含需要保持互动的UIBarButtonItem

有没有办法让条形图忽略点击输入(但不是UIBarButtonItem s)?

1 个答案:

答案 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