最近开始学习下简单的动画,以备将来需要。
这是简单的一些UIView的动画方法
UIView.animateWithDuration(0.5, animations: { self.heading.center.x += self.view.bounds.width
}) //0.3秒以后,0.5秒时间内,执行以上操作。最后执行completion里的内容
UIView.animateWithDuration(0.5, delay: 0.3, options:UIViewAnimationOptions.TransitionNone, animations: { self.username.center.x += self.view.bounds.width
}, completion: print(“执行完毕"))//0.3秒以后,0.5秒时间内,执行以上操作。最后执行completion里的内容
UIViewAnimationOptions里有多种属性,例如Repeat, Autoreverse, CurveEaseOut等。
讲述下区别,Repeat顾名思义,就是重复这段动画。
Autoreverse,比如车开出车库,然后我们按照原路径倒车回来,再开出去。这个一般是配合着Repeat一起用。
CurveEaseOut该属性是开始的时候速度低,慢慢加速。
CurveEaseIn改属性是开始的时候速度快,慢慢减速。
loginButton.center.y += 30
loginButton.alpha = 0
UIView.animateWithDuration(2, delay: 0.5, usingSpringWithDamping: 0, initialSpringVelocity: 0, options: UIViewAnimationOptions.TransitionNone, animations: { () -> Void in
self.loginButton.center.y -= 30
self.loginButton.alpha = 1.0
}, completion: nil)
我们在这里先对button进行一个移动,并且对其设置透明度。之后的动画代码的效果是,button由下自上实现一个移动,以及透明度的变化。这里得说到两个参数usingSpringWithDamping以及initialSpringVelocity。
usingSpringWithDamping,我称之为弹簧阻尼属性。区间是0-1,设置0的时候 自下而上到达之后,会有一个弹簧效果。反之越大效果越小。
initialSpringVelocity,该属性是弹簧的动力属性。0表示忽略,越大表示弹簧动力越大,弹簧拉伸的幅度越大。