Core Animation是一个动画和图形合成框架,用于提高速度和效率。虽然在名字中有动画的单词,不要让它误导你以为它只能做这个;它实际上负责屏幕上显示的所有视图的整体渲染体系结构,可以非常快速地进行透明度计算、图像过滤和视觉效果。它是为iOS创造的,但从OS X10.5开始,也可以在Mac上应用。
要通过GPU管理渲染在屏幕上的图像内容,Core Animation使用CALayer
对象作为主力。CALayer
负责界面渲染,实际上,UIView
对象只是CALayer
的简单封装,而Core Animation在苹果公司内部最初名为Layer Kit!当你在屏幕上操作一个UIView
的布局或方向的时候,你实际上在移动它的CALayer
。Core Animation在硬件层面管理合成并操作你app的界面内容,与显卡对话并精简你界面的渲染,让它变得快速而不迟缓。iOS中所有的动画性能都是由Core Animation框架实现的。
图层可以像视图一样被层级安排来在屏幕上创建一个完整的用户界面。你不是非得要用UIView
对象来构建你的界面,也可以使用CALayer
对象来代替,像视图一样将它们按照父视图-子视图的类型放置,只不过替换成父图层-子图层。
虽然你可以只是用CALayer
不用视图来实现一个app的界面,大部分的iOS开发者仍然都会使用UIView
对象而不是直接使用CALayer
对象来构建app界面,除非他们在做一些严肃的图形处理或者一次性布局成百上千的图形。如果你需要直接更改图层属性的话随时都可以获取一个视图的图层,比如说,设置一个视图的圆角弧度就是通过操作视图的CALayer
属性来完成的。
查看完整合集:https://github.com/Cloudox/Motion-Design-for-iOS