一、哪些属性可参与动画?
1、Position 位置
2、Opacity 透明度
3、Scale 比例
4、Color 颜色
二、怎样动?
1、Rotation 旋转
2、Repeat 重复的
3、Easing 轻缓的
4、spring 弹跳
三、上代码!
(1)在一定时间内 View 的属性发生改变,动画结束后回调。
classfunc animateWithDuration(duration:NSTimeInterval, animations: () ->Void, completion: ((Bool) ->Void)?)
(2)在一定时间内 View 的属性发生改变。无回调。
classfunc animateWithDuration(duration:NSTimeInterval, animations: () ->Void)
(3)可以设置动画执行的方式。
classfunc animateWithDuration(duration:NSTimeInterval, delay:NSTimeInterval, options:UIViewAnimationOptions, animations: () ->Void, completion: ((Bool) ->Void)?)
参数说明:
duration:动画经历时长
animation:UIView动画结束时的状态(比如UIView移动到另一点,变成某一种颜色,放大(缩小)后的比例,变化到某一透明度)
delay:延迟时间,在该延迟时间后才执行动画
options:系统提供了许多动画执行Easing,不懂?看以下四图就明白了!
//重复动作
staticvar Repeat:UIViewAnimationOptions { get }
//然后用一张图解释下面四中Easing
staticvar CurveEaseInOut:UIViewAnimationOptions { get }由慢到快再到慢
staticvar CurveEaseIn:UIViewAnimationOptions { get }由慢到快
staticvar CurveEaseOut:UIViewAnimationOptions { get }由快到慢
staticvar CurveLinear:UIViewAnimationOptions { get }速度不变
四、弹跳动画:
1 classfunc animateWithDuration(duration:NSTimeInterval, delay:NSTimeInterval, usingSpringWithDamping dampingRatio:CGFloat, initialSpringVelocity velocity:CGFloat, options:UIViewAnimationOptions, animations: () ->Void, completion: ((Bool) ->Void)?)参数说明:
usingSpringWithDamping:阻尼(弹性系数)
initialSpringVelocity:初始速率