IOS瘋狂基礎之模態顯示PresentModalViewController(轉)

轉自:http://blog.csdn.net/wudizhukk/article/details/8553554函數

-(void)buttonDown:(id)sender{動畫

    ViewTwo *two = [[ViewTwo alloc]init];url

    two.delegate = self;spa

    two.modalPresentationStyle=UIModalPresentationFullScreen;.net

    two.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;//彈出時的動畫風格 對彈出目標頁面設置代理

    [self presentModalViewController:two animated:YES];code

}orm

以上是代碼實例 下面是網上抄來無聊時看看的,補充補充的blog

1、主要用途ip

  彈出模態ViewController是IOS變成中頗有用的一個技術,UIKit提供的一些專門用於模態顯示的ViewController,如UIImagePickerController等。彈出模態ViewController主要使用於一下這幾種情形:

  一、收集用戶輸入信息

  二、臨時呈現一些內容

  三、臨時改變工做模式

  四、相應設備方向變化(用於針對不一樣方向分別是想兩個ViewController的狀況)

  五、顯示一個新的view層級

  這幾種情形都會暫時中斷程序正常的執行流程,主要做用是收集或者顯示一些信息。

2、幾個概念和經常使用設置

一、presenting view controller Vs presented view controller

  當咱們在view controller A中模態顯示view controller B的時候,A就充當presenting view controller(彈出VC),而B就是presented view controller(被彈出VC)。官方文檔建議這二者之間經過delegate實現交互,若是使用過UIImagePickerController從系統相冊選取照片或者拍照,咱們能夠發現imagePickerController和彈出它的VC之間就是經過UIImagePickerControllerDelegate實現交互的。所以咱們在實際應用用,最好也遵照這個原則,在被彈出的VC中定義delegate,而後在彈出VC中實現該代理,這樣就能夠比較方便的實現二者之間的交互。

二、Modal Presentation Styles(彈出風格)

  經過設置presenting VC的modalPresentationStyle屬性,咱們能夠設置彈出View Controller時的風格,有如下四種風格,其定義以下:

typedef enum {
    UIModalPresentationFullScreen = 0,
    UIModalPresentationPageSheet,
    UIModalPresentationFormSheet,
    UIModalPresentationCurrentContext,
} UIModalPresentationStyle;

  UIModalPresentationFullScreen表明彈出VC時,presented VC充滿全屏,若是彈出VC的wantsFullScreenLayout設置爲YES的,則會填充到狀態欄下邊,不然不會填充到狀態欄之下。

  UIModalPresentationPageSheet表明彈出是彈出VC時,presented VC的高度和當前屏幕高度相同,寬度和豎屏模式下屏幕寬度相同,剩餘未覆蓋區域將會變暗並阻止用戶點擊,這種彈出模式下,豎屏時跟UIModalPresentationFullScreen的效果同樣,橫屏時候兩邊則會留下變暗的區域。

  UIModalPresentationFormSheet這種模式下,presented VC的高度和寬度均會小於屏幕尺寸,presented VC居中顯示,四周留下變暗區域。

  UIModalPresentationCurrentContext這種模式下,presented VC的彈出方式和presenting VC的父VC的方式相同。

  這四種方式在iPad上面通通有效,但在iPhone和iPod touch上面系統始終已UIModalPresentationFullScreen模式顯示presented VC。

三、Modal Transition Style(彈出時的動畫風格)

  經過設置設置presenting VC的modalTransitionStyle屬性,咱們能夠設置彈出presented VC時場景切換動畫的風格,其定義以下:

typedef enum {
        UIModalTransitionStyleCoverVertical = 0,
        UIModalTransitionStyleFlipHorizontal,
        UIModalTransitionStyleCrossDissolve,
        UIModalTransitionStylePartialCurl,
} UIModalTransitionStyle;

  咱們能夠看到有從底部滑入,水平翻轉進入,交叉溶解以及翻頁這四種風格可選。這四種風格在不受設備的限制,即無論是iPhone仍是iPad都會根據咱們指定的風格顯示轉場效果。

四、Dismiss Modal ViewController(消失彈出的VC)

  消失presented VC,咱們能夠經過調用如下兩個函數中的任何一個來完成

dismissModalViewControllerAnimated:                 // 將要廢棄,不同意繼續使用
dismissViewControllerAnimated:completion:
相關文章
相關標籤/搜索