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












网友评论