控件不能响应的情况(iOS 子视图响应父视图的点击事件)

控件不能响应的情况:

1.userInteractionEnabled = NO

2.hidden = YES

3.透明度 alpha 小于等于0.01

4.子视图超出了父视图区域

子视图超出父视图,不响应的原因:因为父视图的pointInside:withEvent:方法返回了NO,就不会遍历子视图了。可以重写pointInside:withEvent:方法解决此问题。


开发中遇到这样的问题:

屏幕快照 2017-11-02 下午8.07.19.png

我在alphabackview上加了touch事件,希望点击蒙版后隐藏当前的view,但是我们发现在点击tableviewbackview 时同样隐藏了当前的view,而这并不是我们想要的,所以就有了 以下的代理方法:


WX20171102-200923@2x.png

这里 方法是touch手势当你点击的时候出发,当返回no的时候不相应我们的时间,只有yes的时候才相应,所以我们只需要把我们不想让相应的view拿出来return No就解决了.

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
    
    if ([touch.view isDescendantOfView:self.tableView_back_view]) {
        return NO;
    }
    
    return YES;
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容