- 相同点:
1.相似的树形结构
2.显示内容绘制方式
3.布局约束
4.都跟绘制界面及动画有关
- 区别:
- 1.UIView是用来显示内容的,可以处理用户事件,继承自UIResponder
- 2.CALayer是用来绘制内容的,对内容进行动画处理依赖与UIView来进行显示,不能处理用户事件,继承自NSObject。
- 关系:
- UIView和CALayer是相互依赖的关系。UIView依赖与calayer提供的内容,CALayer依赖uivew提供的容器来显示绘制的内容。归根到底CALayer是这一切的基础,如果没有CALayer,UIView自身也不会存在,UIView是一个特殊的CALayer实现,添加了响应事件的能力。UIView来自CALayer,高于CALayer,是CALayer高层实现与封装。UIView的所有特性来源于CALayer支持。