-
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
的一套方法提供一些魔术般的变化效果.
网友评论