標籤:
CATransition動畫
1 // MARK: - CATransition動畫 2 3 // /* 動畫樣式 */ 4 // let kCATransitionFade: NSString! //翻頁 5 // let kCATransitionMoveIn: NSString! //彈出 6 // let kCATransitionPush: NSString! //推出 7 // let kCATransitionReveal: NSString! //移出 8 // 9 // /* 動畫執行的方向 */10 // let kCATransitionFromRight: NSString! //右側11 // let kCATransitionFromLeft: NSString! //做成12 // let kCATransitionFromTop: NSString! //上部13 // let kCATransitionFromBottom: NSString! //底部14 15 /* 非公開動畫效果 */16 // "cube" //立方體17 // "suckEffect" //吸收18 // "oglFlip" //翻轉19 // "rippleEffect" //波紋20 // "pageCurl" //卷頁21 // "cameralrisHollowOpen" //鏡頭開22 // "cameralrisHollowClose" //鏡頭關23 24 //CATransition動畫-揭開(Push動畫)25 @IBAction func caAnimationChage1()26 {27 var transition = CATransition()28 transition.duration = 1.029 transition.type = kCATransitionPush //推送類型30 transition.subtype = kCATransitionFromLeft//從左側31 self.view.exchangeSubviewAtIndex(1, withSubviewAtIndex: 0)32 self.view.layer.addAnimation(transition, forKey: nil)33 34 }35 36 //CATransition動畫-推出37 @IBAction func caAnimationChage2()38 {39 var transition = CATransition()40 transition.duration = 1.041 transition.type = kCATransitionMoveIn42 transition.subtype = kCATransitionFromTop43 self.view.exchangeSubviewAtIndex(0, withSubviewAtIndex: 1)44 self.view.layer.addAnimation(transition, forKey: nil)45 }46 47 48 //CATransition動畫-平移49 @IBAction func caTranatate()50 {51 //每次都是從前前位置平移52 self.testImageView.transform=CGAffineTransformTranslate(self.testImageView.transform, -1.9, -1.9)//正負 代表方向53 54 //每次都從最開始的位置計算平移55 // self.testImageView.transform=CGAffineTransformMakeTranslation(1.2, 1.2)56 }57 58 //CATransition動畫-旋轉59 @IBAction func caRotate()60 {61 //連續旋轉62 UIView.beginAnimations(nil, context: nil)63 UIView.setAnimationDuration(2.0)//設定動畫時間64 self.testImageView.transform=CGAffineTransformRotate(self.testImageView.transform, CGFloat(-M_PI/2))65 UIView.commitAnimations()66 67 //獨立旋轉,以初始位置旋轉68 // self.testImageView.transform=CGAffineTransformMakeRotation(CGFloat(M_PI/6))69 }70 71 //CATransition動畫-縮放72 @IBAction func caScale()73 {74 75 //連續縮放76 UIView.beginAnimations(nil, context: nil)77 UIView.setAnimationDuration(2.0)//設定動畫時間78 self.testImageView.transform=CGAffineTransformScale(self.testImageView.transform, 1.5, 1.5);//1.0以下縮小,1.0以上放大79 UIView.commitAnimations()80 81 //獨立縮放,以初始位置縮放82 // self.testImageView.transform=CGAffineTransformMakeScale(1.2, 1.2)83 84 }85 86 //CATransition動畫-反轉到某個狀態87 @IBAction func caInvert()88 {89 self.testImageView.transform=CGAffineTransformIdentity;//返回到初始狀態90 91 //連續反轉92 UIView.beginAnimations(nil, context: nil)93 UIView.setAnimationDuration(2.0)//設定動畫時間94 self.testImageView.transform=CGAffineTransformConcat(self.testImageView.transform,CGAffineTransformInvert(self.testImageView.transform));95 UIView.commitAnimations()96 97 //獨立反轉,以初始位置反轉98 // self.testImageView.transform=CGAffineTransformInvert(self.testImageView.transform)99 }
iOS開發——動畫編程Swift篇&(三)CATransition動畫