轉自: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: