Swift学习笔记(1)过渡动画(CATransition和UIViewAnimation)的用法

Swift学习笔记(1)过渡动画(CATransition和UIViewAnimation)的用法

CATransition和UIViewAnimation是场景切换时常用的两种过渡动画

目录

  • Swift学习笔记1过渡动画CATransition和UIViewAnimation的用法
    • 目录
    • CATransition
      • CATransition的type属性
      • CATransition的subtype属性
      • 代码示例
    • UIViewAnimationTransition
      • UIViewAnimationTransition的类型
      • UIViewAnimationTransition的类型
      • 代码示例

CATransition

CATransition的type属性:


kCATransitionFade    //淡入淡出(默认)

kCATransitionMoveIn  //移入

kCATransitionPush    //压入

kCATransitionReveal  //渐变

CATransition的subtype属性:


kCATransitionFromRight

kCATransitionFromLeft

kCATransitionFromTop

kCATransitionFromBottom

代码示例:

    func change() {
        // 初始化动画的持续时间,类型和子类型
        let transition = CATransition()
        transition.duration = 2.0
        transition.type = kCATransitionReveal
        transition.subtype = kCATransitionFromLeft

        let nextView = self.storyboard?.instantiateViewControllerWithIdentifier("next") as! NextViewController
        self.view.addSubview(nextView.view)
        // 执行刚才添加好的动画
        self.view.layer.addAnimation(transition, forKey: nil)
    }

UIViewAnimationTransition

UIViewAnimationTransition的类型:

//水平翻转:
FlipFromLeft
FlipFromRight

//卷页效果:
CurlUp
CurlDown

UIViewAnimationTransition的类型:

EaseInOut  //动画由慢变快再变慢
EaseIn     //动画由慢变快
EaseOut    //动画由快变慢
Linear     //匀速动画

代码示例:

    func change() {
        let nextView = self.storyboard?.instantiateViewControllerWithIdentifier("next") as! ViewController
        self.view.addSubview(nextView.view)

        UIView.beginAnimations("", context: nil)
        //设置动画的持续时间,类型和渐变类型
        UIView.setAnimationDuration(0.5)
        UIView.setAnimationTransition(UIViewAnimationTransition.CurlDown, forView: self.view, cache: true)
        UIView.setAnimationCurve(UIViewAnimationCurve.EaseInOut)
        //开始动画
        UIView.commitAnimations()
    }

你可能感兴趣的:(ios,动画,swift,animation,transition)