Core Animation
引用一下
Core Animation是直接作用在CALayer上的(并非UIView上)非常强大的跨Mac OS X和iOS平台的动画处理API,Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程。
先来个图,大概了解一下Core Animation的结构,两张图,可以看得更清楚。


里面的几个类逐个来说一下
首先如图所示,Core Animation包括
- CAAnimation
CAAnimation的子类
- CAPropertyAnimation
- CAAnimationGroup - 动画组
- CATransition - 专场动画
CAPropertyAnimation是一个抽象类,它有包含
- CABasicAnimation - 基础动画
- CAKeyframeAnimation - 关键帧动画
CABasicAnimation下面又包含一些
- CASpringAnimation 等
说一下这些动画的使用场景,至于里面的各种属性,比较多,还是自己多用多琢磨就好。
CABasicAnimation
基础动画,主要用于一些基本的,旋转移动等等的变换操作。
CAKeyframeAnimation
同样是用于一些变化的动画,类似于CABasicAnimation,但是不同的是CABasicAnimation设置动画,一般只是两个值,起点和终点的值,而CAKeyframeAnimation可以有很多变化的值。
CATransition
转场动画,主要用于一些页面跳转的笑哭操作加特技。
CAAnimationGroup
主要是组合用户,一遍旋转,一边变换。
CASpringAnimation
弹簧动画
说到这里应该说点给Core Animation中的CALayer
- CAShapeLayer
- CAGradientLayer
- CAReplicatorLayer
- CAEmitterLayer
CAShapeLayer
形状,主要和贝塞尔曲线结合,来绘制各种图形。
CAGradientLayer
渐变色
CAReplicatorLayer
可以做重影动画
CAEmitterLayer
粒子爆炸效果