简介:Core Animation是一个图形渲染和动画基础设施,可以在iOS和OS X上使用,你可以用它来动画你的应用程序的视图和其他视觉元素。而无需使用低级别的图形 API,如 OpenGL 来获取高效的动画性能。
Core Animation是一个复合引擎,它的职责就是尽可能快地组合屏幕上不同的可视内容,这个内容是被分解成独立的图层,存储在一个叫做图层树的体系之中。于是这个树形成了UIKit以及在iOS应用程序当中你所能在屏幕上看见的一切的基础。
Core animation相关类
1.图层类:
CALayer - 视图层
CAGradientLayer - 颜色渐变的图层
CAShapeLayer - 可以画出各种图层,Bezier
CATextLayer - 简单的文本layer
CAReplicatorLayer - 复制器,赋值layer,并更改layer的外观。可以实现一个 sublayer几何的颜色渐变效果。
CAScrollLayer - 可滚动内容的层
CATiledLayer - 将图层再次分割成独立更新的小块,CATiledLayer还有一个有趣的特性:在多个线程中为每个小块同时调用-drawLayer:inContext:方法。这就避免了阻塞用户交互而且能够利用多核心新片来更快地绘制.可以高效的显示大型图像。支持放大和缩小内容。
CATransformLayer - 创建3D层层次结构
2.动画类
CAAnimation - 核心动画基础类, 不直接使用
CAPropertyAnimation - 属性动画,针对对象的可动画属性进行效果的设置,不直接使用
CABasicAnimation - 基础动画,通过keyPath对应属性进行控制
CAKeyframeAnimation - 关键帧动画,同样通过keyPath对应属性进行控制,但它可以通过values或者path进行多个阶段的控制。
CASpringAnimation - 带有初始速度以及阻尼指数等物理参数的属性动画
CATransition - 转场动画
CAAnimationGroup - 动画组,方便对于多动画的统一控制管理
3.协议
CALayerDelegate - 协议,图层相关事件的响应
CAAction - 协议 在动画发生之后这个方法会被调用,这个方法把将要发生的事件告诉图层,从而让图层做出对应的操作,比如渲染等。
CAAnimationDelegate - 协议 有动画的开始结束的委托方法
4.事物
CAValueFunction - 提供定义动画转换的灵活方法的对象
CATransaction - 事物,常常用于关闭隐式动画和调整动画时间
CAMediaTimingFunction - 创建控制动画的节奏
CAMediaTiming - 控制动画的节奏
CADisplayLink - 计时器对象,它允许应用程序将它的绘制与显示的刷新速率同步。
5.粒子发射器
CAEmitterLayer - 粒子发射器
CAEmitterCell - 粒子
CAEmitterBehavior - 给粒子添加一些效果
6.OpenGL相关的层
CAEAGLLayer - 绘制OpenGL内容的层
7.metal相关层
CAMetalLayer - Metal:它是一个支持GPU(Graphics Processing Unit-图形处理器)加速3D绘图的API。
CAMetalDrawable - 协议, Metal:它是一个支持GPU(Graphics Processing Unit-图形处理器)加速3D绘图的API。
目录: