很多人在第一次接触iOS和Mac OS X的时候,都会被它绚丽多彩的动画效果深深吸引:从iOS播放音乐时的Coverflow效果、创建应用文件夹的屏幕分裂效果、重排图标时的抖动效果;到Mac OS X的Time Machine时光隧道、程序最小化到dock动画、Spaces效果等等。就连后起之秀,苹果的幻灯片软件Keynote,也因为引人入胜的动画效果而抢去了称霸多年的PowerPoint的市场 - 从罗永浩的讲座,到雷军的小米发布会都转投Keynote的怀抱。这背后统统都是Core Animation的功劳。
通过Core Animation,开发者只需要简单的几行代码,就可以实现让人惊叹的动画效果。基于合成独立图层的简单编程模型,您可以使用 Core Animation 来建立具有动画效果的用户体验。动画是按定义好的关键步骤创建的,步骤描述了文字层、图像层和 OpenGL ES 图形是如何交互的。Core Animation 在运行时按照预定义的步骤处理,平稳地将视觉元素从一步移至下一步,并自动填充动画中的过渡帧。
如iOS 中许多场景切换一样,您也可以使用 Core Animation 来创建引人瞩目的效果,如在屏幕上平滑地移动用户接口元素,加入渐入渐出的效果—所有这些仅需几行 Core Animation 代码即可完成。
下面让我们来看看,乔帮主在5年前的WWDC大会上,为我们演示的超过800个视频所组成的让人惊叹的动画效果。这个效果正是由Core Animation实现的。