现在在很多项目中为了使视觉上有更好的体验效果,通常会加入一些动画,比如在半糖App中的晒照片和晒文字的功能显示,就应用了一个简单的弹性动画,运行的效果是这样的:
也不多说了,直接上代码:
let springAnimation = CASpringAnimation.init(keyPath: "position")
springAnimation.damping = 9
springAnimation.mass = 1
springAnimation.initialVelocity = 5
springAnimation.stiffness = 80;
springAnimation.fromValue = self.sharePic.layer.position
self.sharePic.layer.position.y = self.sharePic.layer.position.y - bigDistance
self.sharePic.layer.position.x = self.sharePic.layer.position.x - bigDistance
springAnimation.toValue = self.sharePic.layer.position
springAnimation.duration = springAnimation.settlingDuration
self.sharePic.layer.add(springAnimation, forKey: springAnimation.keyPath)
我是用swift3.0写的,由于CASpringAnimation是在iOS 9.0只后才出现,所以只有9.0之后的版本才可以应用哦。
这里说一下它的几个属性:
-damping:阻尼系数
-mass: 弹簧末端的质量,必须是大于 0的, 质量越大弹性就越大
-initialVelocity : 速度
-stiffness: 弹簧刚度系数,0~100,系数越大力就越大
-fromValue: 起始位置
-toValue: 结束位置
具体的效果,改变这几个属性的值的大小就可以了。