PresentViewController切換介面,viewcontroller切換

來源:互聯網
上載者:User

PresentViewController切換介面,viewcontroller切換

視圖切換,沒有NavigationController的情況下,一般會使用presentViewController來切換視圖並攜帶切換時的動畫,

其中切換方法如下:

– presentViewController:animated:completion: 彈出,出現一個新視圖 可以帶動畫效果,完成後可以做相應的執行函數經常為nil
– dismissViewControllerAnimated:completion:退出一個新視圖 可以帶動畫效果,完成後可以做相應的執行函數經常為nil

切換動畫在壓入一個新視圖和彈出頂層視圖均可以使用,下面只以壓入視圖為例。

presentModalViewController:animated:completion:使用系統內建四種動畫

簡單的實現方式:

[page2Controller setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];

[self presentModalViewController:myNextViewController animated:YES  completion:nil];

系統支援的四種動畫:

typedef enum {

UIModalTransitionStyleCoverVertical=0, //預設,豎向上推

UIModalTransitionStyleFlipHorizontal, //水平反轉

UIModalTransitionStyleCrossDissolve,//隱出隱現

UIModalTransitionStylePartialCurl,//部分翻頁效果

} UIModalTransitionStyle;

presentModalViewController:animated:completion: 不用內建的四種動畫效果    

實現全翻頁效果:

 

     CATransition *animation = [CATransition animation];

animation.duration = 1.0;

animation.timingFunction = UIViewAnimationCurveEaseInOut;

animation.type = @"pageCurl";

//animation.type = kCATransitionPush;

animation.subtype = kCATransitionFromLeft;

[self.view.window.layer addAnimation:animation forKey:nil];

[self presentModalViewController:myNextViewController animated:NO completion:nil]; 

 

常見的轉換類型(type):

kCATransitionFade               //淡出

kCATransitionMoveIn          //覆蓋原圖

kCATransitionPush               //推出

kCATransitionReveal          //底部顯出來

SubType:

kCATransitionFromRight

kCATransitionFromLeft    // 預設值  

kCATransitionFromTop

kCATransitionFromBottom

設定其他動畫類型的方法(type):

pageCurl   向上翻一頁

pageUnCurl 向下翻一頁

rippleEffect 滴水效果

suckEffect 收縮效果,如一塊布被抽走

cube 立方體效果

oglFlip 上下翻轉效果 

  
2

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.