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

项目中遇到一种情况,有一个自定义的透明层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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容