quartzcode交互动画学习之路

QuartzCore.framework介绍

2017-07-17  本文已影响146人  亭竹丶

简介:Core Animation是一个图形渲染和动画基础设施,可以在iOS和OS X上使用,你可以用它来动画你的应用程序的视图和其他视觉元素。而无需使用低级别的图形 API,如 OpenGL 来获取高效的动画性能。

Core Animation是一个复合引擎,它的职责就是尽可能快地组合屏幕上不同的可视内容,这个内容是被分解成独立的图层,存储在一个叫做图层树的体系之中。于是这个树形成了UIKit以及在iOS应用程序当中你所能在屏幕上看见的一切的基础。

层级图.png

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。

目录:

1.CALayer图层了解

上一篇下一篇

猜你喜欢

热点阅读