0

我有一个自定义UIToolbarUINavigationController带有自定义背景图像。右边的图像是半透明的。我遇到的问题是某些视图在右下角有按钮,并且无法点击这些按钮的底部,因为工具栏会阻止它。

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

有没有办法让栏忽略点击输入(但不是UIBarButtonItems)?

4

1 回答 1

1

您可以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.

于 2013-04-19T02:16:24.107 回答