动画之UIView动画

动画之UIView动画

UIView有三种类型的动画:

  • animate动画
  • transition动画
  • animateKeyframes动画

animate动画

它是对UIView的属性进行动画的一种方法,能进行动画显示的动画包括:
- 位置和大小:bounds , frame , center
- 背景与透明: backgroundColor , alpha
- 转换: transform
它包括一种特殊很炫的动画形式:弹簧动画usingSpringWithDamping…

open class func animate(withDuration duration: TimeInterval, delay: TimeInterval, options: UIViewAnimationOptions = [], animations: @escaping () -> Swift.Void, completion: ((Bool) -> Swift.Void)? = nil)
#duration :动画总的时间
#delay    :设置延迟的时间
#options  :动画选项,能让动画更逼近现实世界的运动
#animations : 设置view属性的地方。根据所修改的属性,实现动画的闭包
#completion : 动画结束以后需执行的操作,Bool是反映动画执行结果是否成功。
open class func animate(withDuration duration: TimeInterval, delay: TimeInterval, usingSpringWithDamping dampingRatio: CGFloat, initialSpringVelocity velocity: CGFloat, options: UIViewAnimationOptions = [], animations: @escaping () -> Swift.Void, completion: ((Bool) -> Swift.Void)? = nil)
//与上面的类方法相比较,弹簧动画多了下面两个属性:
#dampingRatio :阻尼的大小,取值范围是:0〜1.值越小,说明阻尼越小,动的幅度越大
#velocity     : 它定义了初始速度

transition动画

过渡转变(Transition)动画:
1.它主要用于展示(消除)一个UIView的场景

open class func transition(with view: UIView, duration: TimeInterval, options: UIViewAnimationOptions = [], animations: (() -> Swift.Void)?, completion: ((Bool) -> Swift.Void)? = nil)
#view : 要添加View的父级View,其实动画主要也是对这个View的变化,如果这个View没有颜色,或者与背景色一致,那你基本看不出动画
//其它属性与上面的大同小异

2.从一个View转换到另一个View的情况。

open class func transition(from fromView: UIView, to toView: UIView, duration: TimeInterval, options: UIViewAnimationOptions = [], completion: ((Bool) -> Swift.Void)? = nil)
#fromView :原始展示的View
#toView   :需要展示的View

animateKeyframes动画

关键帧动画。当一个View需要配置多个动画,且动画有先后顺序的情况可使用关键帧动画。

open class func animateKeyframes(withDuration duration: TimeInterval, delay: TimeInterval, options: UIViewKeyframeAnimationOptions = [], animations: @escaping () -> Swift.Void, completion: ((Bool) -> Swift.Void)? = nil)
//传参与上面所讲类似,注意:options可能不同
open class func addKeyframe(withRelativeStartTime frameStartTime: Double, relativeDuration frameDuration: Double, animations: @escaping () -> Swift.Void)
#frameStartTime :该帧开始的时间(0〜1)
#frameDuration  :该帧动画时间(0~1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值