UIView
是iOS系统中界面元素的基础,所有界面元素都要继承于UIView
.其本身完全是有CoreAnmation
来实现的.它的真正绘图部分是由CALayer
类来管理的.UIView
本身更像是一个CALayer
的管理器.访问它的根绘图和根坐标有关的属性.UIView
有个重要属性layer
,可以返回它的主CALayer
实例.UIView
的CALayer
类似UIView
的子View
树形结构,也可以向它的layer
上添加子layer
,来完成某些特殊的表示.即CALayer
层是可以嵌套的.UIView
的layer
树形在系统内部,被维护着三份copy
.分别是逻辑树,这里是代码可以操纵的.动画树,是一个中间层,系统就在这一层上更改属性,进行各种渲染操作.显示树,其内容就是当前正被显示在屏幕上的内容.动画的运作:对
UIView
的subLayer
(非主Layer
)属性进行更改,系统将自定进行动画生成,动画持续时间的缺省值似乎是0.5秒.坐标系统:
CALayer
的坐标系统对比UIView
多了一个anchorPoint
属性,使用CGPoint
结构表示,值域是0~1,是个比例值.这个点是各种图形变换的坐标原点,同时会更改layer
的position
的位置,它的缺省值是{0.5 , 0.5},即在layer
的中央.渲染: 当更新层,改变不能立即显示在屏幕上.当前所有的层都准备好时,可以调用
setNeedDisplay
方法来重绘显示.变换:要在一个层中添加一个
3D
或者仿射变换
,可以分别设置层的transform
或affineTransform
属性变形 :
Quartz Core
的渲染能力,使二维图像可以被自由操作,就好像是三维的.图像可以在一个三维坐标系中可以任意角度被旋转,缩放和倾斜.CATransform3D
的一套方法提供一些魔术般的变化效果.
3.UIView与CALayer有什么区别?
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 1. UIView是iOS系统中界面元素的基础,所有的界面元素都是继承自它。它本身完全是由CoreAnimatio...
- 一.继承结构 1: UIView的继承结构为: UIResponder : NSObject UIResponde...
- 1. UIView是iOS系统中界面元素的基础,所有的界面元素都是继承自它。它本身完全是由CoreAnimatio...
- CALayer属于Core Animation部分的内容,比较重要而不太好理解。以下是园子中看到的一篇文章的摘录:...