2020-03-29

为什么要将UIView与CALayer提供2个平行的层级关系

1.避免重复代码:macOS,iOS交互手段不一样,所以需要分开


CALayer常用属性

CALayer 常用属性 ------contents (id类型)
CALayer 常用属性 ------contentsScale
当用代码设置contents图片时,要手动设置图层的contentsScale的属性,避免Retina屏幕显示错误
CALayer 常用属性 ------makeToBounds
是否显示超出边界的内容

//填充方式

1.------contentsGravity
2.CALayer 常用属性 ------contentsRect
按照单位坐标,默认是{0,0,1,1},比contentsGravity更灵活


CAlayer中HitTest属性的实际应用

CALayer 常用属性 ------ZPosition


ZPosition

UIView是严格二纬,CALayer处理三纬;
ZPosition默认是0;

CALayer 常用属性 ------Hit Testing(事件穿透)
获取点击图层


HitTesting

响应链

image.png

常见UIView 不响应事件的处理有哪些?
1.view.userInteractionEnabled = NO;
2.view.hiden = YES;
3.view.alpha < 0.05;
4.view 超过superView的bounds

HitTest

CALayer图层变换 仿射变换数学原理

刚体变换/仿射变换/投影变化

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

推荐阅读更多精彩内容