响应透明层下面的视图事件

项目中遇到一种情况,有一个自定义的透明层B(View),覆盖了整个窗口,下面还有一个层A(View)。结果点击A层上的按钮,不起作用,原因是事件被B层给拦截了,事件传达不到A层。

知道原因,就好解决了,让B层不响应事件就可以了。添加下面的代码,到你的自定义View中,试一下

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
    
    UIView *hitView = [super hitTest:point withEvent:event];
    
    if(hitView == self){
        return nil;
    }
    return hitView;
}

参考:http://www.cnblogs.com/ficow/p/5936288.html

你可能感兴趣的:(响应透明层下面的视图事件)