iOS開發——動畫編程Swift篇&(三)CATransition動畫

來源:互聯網
上載者:User

標籤:

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動畫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.