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部分的内容,比较重要而不太好理解。以下是园子中看到的一篇文章的摘录:...