Core Animation弹性动画 Swift3.0

紧接着之前的文章,继续Layer动画的探究,希望大家可以学习到更多的动画知识。

1. CASpringAnimation弹性动画类
  • CASpringAnimation是继承CABasicAnimation类。

说明:Layer弹性动画类似一个钟摆装置,由于受初始速度、摩擦力大小、摆锤自身重量等因素影响,经历不同的摆动时间,最终慢慢的停止。

2. CASpringAnimation属性
  • damping:阻尼,调整动画到达稳定时间的值,默认值为10.0。阻尼值越大,动画持续时间远短。可以是任何的自然数,如果为0,将永远震荡下去。
  • mass:重量,类似于锤摆的重量,默认值为1.0。
  • stiffness:弹性系数,默认值为100.0。值越小,弹跳的越柔软,值越大,弹跳的越僵硬。
  • initialVelocity: 初始速度,默认值为0.0,可以是一切整数。

说明:duration动画持续时间,类似钟摆一样,受众多因素影响,我们无法动画的持续时间。所以这个属性必须这样设置,如下所示:

  pulse.duration = pulse.settlingDuration

弹性动画demo

  let pulse = CASpringAnimation(keyPath: "transform.scale")
  pulse.damping = 7.5
  pulse.fromValue = 1.25
  pulse.toValue = 1.0
  pulse.duration = pulse.settlingDuration
  layer?.add(pulse, forKey: nil)

你可能感兴趣的:(Core Animation弹性动画 Swift3.0)