Swift学习笔记(1)过渡动画(CATransition和UIViewAnimation)的用法
CATransition和UIViewAnimation是场景切换时常用的两种过渡动画
目录
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()
- }