iOS动画

动画学习二——CAKeyframeAnimation

2017-06-19  本文已影响23人  齐小天_Liu

之前在动画学习一中总结了CABascicAnimation的基本用法,这次来总结一下CAKeyframeAnimation的简单使用。

简介

CABascicAnimation是核心动画中的帧动画,它提供了按照指定的一系列值进行动画的方法,效果就好比是拍电影一样,导演指定好每一个动作,然后演员就会按照指定的动作进行。

属性

  1. kCAAnimationLinearcalculationMode的默认值,自定义控制动画的时间(线性)可以设置keyTimes,表示当关键帧为座标点的时候,关键帧之间直接直线相连进行插值计算;
  2. kCAAnimationDiscrete: 离散的,就是不进行插值计算,所有关键帧直接逐个进行显示;
  3. kCAAnimationPaced: 节奏动画自动计算动画的运动时间,使得动画均匀进行,而不是按keyTimes设置的或者按关键帧平分时间,此时keyTimestimingFunctions无效;
  4. kCAAnimationCubic: 对关键帧为座标点的关键帧进行圆滑曲线相连后插值计算,对于曲线的形状还可以通过;tensionValues,continuityValues,biasValues来进行调整自定义,这里的数学原理是Kochanek–Bartels spline,这里的主要目的是使得运行的轨迹变得圆滑,曲线动画需要设置timingFunctions
  5. kCAAnimationCubicPaced: 看这个名字就知道和kCAAnimationCubic有一定联系,其实就是在kCAAnimationCubic的基础上使得动画运行变得均匀,就是系统时间内运动的距离相同,此时keyTimes以及timingFunctions也是无效的。
  1. kCAAnimationRotateAuto: 根据路径自动旋转
  2. kCAAnimationRotateAutoReverse: 根据路径自动翻转

动画效果展示

CAKeyframeAnimation.gif

总结

以上简单总结了一下CAKeyframeAnimation的特有属性,对于CABasicAnimation的一些属性他同样拥有,这里就不再一一赘述。
示例demo

上一篇 下一篇

猜你喜欢

热点阅读