UIView和CALayer

UIView和CALayer的区别
1.UIView和CALayer的最大区别在于UIView可以响应用户事件,而CALyer不能,UIView侧重于对显示内容的管理,CALayer侧重于对内容的绘制
2.UIView和CALayer是相互依赖的关系。UIView依赖于CALayer提供的内容,CALayer依赖于UIView提供的容器来显示绘制的内容。
归根结底CALayer是一切的基础,如果没有CALayer,UIView自身也就不存在,UIView是一个特殊的CALayer实现,添加了响应时间的能力
3.UIView来自于CALayer,高于CALayer,是CALayer的高度实现与封装。UIView的所有特性来自于CALayer的支持

UIView的layer树形在系统内部,被系统维护着三份copy
第一份,逻辑树,就是代码里可以操纵的,例如更改layer的属性等等就在这一份。
第二份,动画树,这是一个中间层,系统正在这一层上更改属性,进行各种渲染操作。
第三份,显示树,这棵树的内容是当前正被显示在屏幕上的内容。
这三棵树的逻辑结构都是一样的,区别只有各自的属性。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容