safeArea与事件穿透

1.safe area 怎么去除 很多时候我们不需要适配


safeArea与事件穿透_第1张图片
Snip20171025_3.png
safeArea与事件穿透_第2张图片
Snip20171025_1.png

当出现这个界面时,没有了safe area 时,就基本达到目标。


safeArea与事件穿透_第3张图片
Snip20171025_2.png

2.如何让事件在某些事件上穿透呢?
方案一:创建子类,重写hitTest的方法
参考链接如下:
http://www.jianshu.com/p/0bece5f27650
缺点:必须自定义,而且复杂的局部穿透对代码hitTest的修改要求高。
方案二:
UIViewA* viewa = [[view1 alloc] initWithFrame:[UIScreen mainScreen].bounds];
viewa.backgroundColor = [UIColor redColor];
[self.view addSubview:viewa];

viewB* viewb = [[view2 alloc] initWithFrame:[UIScreen mainScreen].bounds];
viewb.backgroundColor = [UIColor blueColor];
viewb.userInteractionEnabled = NO;//   关键代码,响应者链条机制
[self.view addSubview:viewb];

优点:1.不用创建类,少写代码!!!!
2.针对复杂的局部穿透建议使用 组合的设计模式 来简化!!!

你可能感兴趣的:(safeArea与事件穿透)