【发布时间】:2013-04-04 16:15:25
【问题描述】:
在View and Window Architecture 中声明,引用:
视图与核心动画层一起处理视图内容的渲染和动画。 UIKit 中的每个视图都有一个图层对象(通常是 CALayer 类的实例)支持,该对象管理视图的后备存储并处理与视图相关的动画。
在“视图绘图周期”部分进一步说明:
UIView 类使用按需绘制模型来呈现内容。当一个视图首次出现在屏幕上时,系统会要求它绘制其内容。 系统会捕获此内容的快照,并将该快照用作视图的视觉表示。
这是否意味着,在其 drawRect 方法调用中在视图中绘制的内容被捕获在保存在其支持核心动画层中的快照中?
如果不是,这个内容快照“驻留”在哪里?
如果不是,这是否意味着 CALayer 用于渲染“静态”内容,即不经常更改的内容,而 drawRect 用于渲染经常更改的内容,例如在游戏应用中?
附言
这些问题与任何特定的代码实现无关。
我只是想了解ios的视图层架构。
【问题讨论】: