添加减速和加速以缩放动画
Add deceleration and acceleration to scale animation
我有一个动画,主要是增加和减少按钮的比例,以引起用户注意它是可点击的。
运行良好,但不是很流畅。一旦达到全尺寸,它就会立即切换到缩小尺寸。我想知道如何给它加上一个减速周期和一个加速周期,让它每次改变方向时,先减速再加速?
这是我的代码:
func bloat() {
var animation = CABasicAnimation(keyPath: "transform.scale")
animation.toValue = NSNumber(float: 0.9)
animation.duration = 1
animation.repeatCount = 100
animation.autoreverses = true
faceButton.layer.addAnimation(animation, forKey: nil)
}
您需要添加计时功能。为了简单起见,您应该使用其中一种预定义的。
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut);
这个计时函数会在开始时加加速,在结束时加减速。
我有一个动画,主要是增加和减少按钮的比例,以引起用户注意它是可点击的。
运行良好,但不是很流畅。一旦达到全尺寸,它就会立即切换到缩小尺寸。我想知道如何给它加上一个减速周期和一个加速周期,让它每次改变方向时,先减速再加速?
这是我的代码:
func bloat() {
var animation = CABasicAnimation(keyPath: "transform.scale")
animation.toValue = NSNumber(float: 0.9)
animation.duration = 1
animation.repeatCount = 100
animation.autoreverses = true
faceButton.layer.addAnimation(animation, forKey: nil)
}
您需要添加计时功能。为了简单起见,您应该使用其中一种预定义的。
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut);
这个计时函数会在开始时加加速,在结束时加减速。