0%

CoreAnimation编程指南翻译(一):关于Core Animation

Core Animation是一个用于图像绘制和动画渲染的基础框架, 同时兼容iOS和OS X平台. 使用Core Animation可以很便捷的为应用程序的视图或其他可视化元素添加动画. 因为绘制动画的大部分工作都由Core Animation完成, 开发者只需要配置一些动画参数(比如动画的起始点和结束点), 然后告诉Core Animation开始执行动画即可. 接下来, Core Animation会把大部分的实际绘制工作交给专门的图形硬件. 这就保证了动画的高帧率和流畅性, 而且不会对CPU造成额外的负担.

Core Animation位于UIKitAppKit框架之下, 并且与CocoaCocoa Touch的视图工作流程紧密相关. 当然, Core Animation也开放了一些接口用于扩充视图功能, 以及为动画提供更精细的控制.

概览

开发者也许并不会直接使用Core Animation, 但必要时, 也应理解Core Animation在应用程序基础框架所扮演的角色.

Core Animation与应用内容

Core Animation本身并不是一个绘图系统, 而是在硬件角度上对应用的内容进行合成和控制. Core Animation的核心是图层(CALayer), 可以使用图层来管理和操作应用程序的内容. 一个图层对象可以将内容捕获为一个bitmap, 然后提供给图形硬件进行下一步操作. 在大部分应用中, 图层对象负责视图(UIView)内容的展示, 但是也可以根据需求创建单独的图层对象.

相关章节: Core Animation基础, 设置图层对象

图层与动画

使用Core Animation创建的动画大部分都涉及到图层属性的修改. 与视图类似, 图层对象也拥有bounds, position, poacity, transform以及其他一些可修改的视觉属性. 对大部分的图层属性来说, 修改属性的值都会默认创建一个隐式动画. 开发者也可以使用图层的这些视觉属性来显式创建更精细的动画.

相关章节: 图层动画, 高级动画技巧, 图层样式动画, 可动画的属性列表

图层树

一个图层也可以包含另一个图层, 即这两个图层拥有父子关系. 图层可以拥有和视图类似的组织方式, 可以创建独立图层添加到图层树中, 扩展应用的可视化内容.

相关章节: 创建图层树

修改图层的默认行为

Core Animation的隐式图层动画使用操作(CAAction)对象实现. 操作对象实现了预定义到接口. 开发者可以通过自定义操作对象实现自定义动画或其他自定义行为, 然后将操作对象指定给图层的某个属性, 当这个属性的值发生改变时, Core Animation会通知对应的操作对象执行自定义操作.

相关章节: 修改图层的默认行为

如何使用本文档

本文档的目标用户是想要实现更精细动画, 或是想要提升应用程序绘制性能的开发者. 另外, 本文档中还提供了iOS和OS X的图层和视图之间集成的相关信息. 视图和图层的集成在iOS和OS X中有所差异, 这些差异对创建动画至关重要.

前提条件

阅读本文档的用户需要了解相应平台的视图架构, 并熟悉如何创建视图动画. 否则, 应先根据平台选择阅读以下两个文档之一:

参考

使用Core Animation实现不同类型的动画: Core Animation使用手册.