模態視圖的概念以及顯示、變換方式介紹

學幾個單詞

 

dissolve [dɪ'zɒlv] vi.溶解;解散

curl [kɜːl] vi. 捲曲

 

什麼是模態視圖?

 

比如UIAlertView,它就是一個模態視圖。對於模態視圖和普通視圖最主要的區別就是模態視圖顯示的時候不能對其他視圖進行操作。主要用來收集或顯示一些信息。

 

思考:彈出警告框的時候,背景視圖變暗不能操作,所以說警告框就是一個模態視圖。

 

PresentationStyle(顯示方式)

 

對於iPhone來講PresentationStyle始終是UIModalPresentationFullScreen模式顯示ModelViewController

 

對於iPad有四種顯示方式,如下所示(默認全屏)

 

typedefenum {
    UIModalPresentationFullScreen = 0,
   UIModalPresentationPageSheet,
   UIModalPresentationFormSheet,
   UIModalPresentationCurrentContext,
} UIModalPresentationStyle;

 

UIModelPresentationFullScreen彈出VC時,被彈出的視圖(presentedVC)充滿全屏

UIModalPresentationPageSheet彈出VC時,presentedVC的height、width和presenting VC相同,豎屏時和UIModelPresentationFullScreen相同,橫屏時未覆蓋區域變暗並阻止用戶點擊

UIModelPresentationFromSheet彈出VC時,presentedVC的height、width均會小於presentingVC,且presented居中顯示,四周變暗

UIModalPresentationCurrentContext彈出VC時,和presentedVC的彈出方式相同

 

 

TransitionStyle(變換效果)

 

默認的presented方式是CoverVertical(豎直覆蓋),也可以設置水平翻轉、交叉溶解、翻頁等效果

 

typedefenum {
       UIModalTransitionStyleCoverVertical = 0,
       UIModalTransitionStyleFlipHorizontal,
       UIModalTransitionStyleCrossDissolve,
        UIModalTransitionStylePartialCurl,
} UIModalTransitionStyle;

 

DelegateDismiss ModalViewController

 

dismissViewControllerAnimated:completion,對於這個方法的調用者最簡單的是[selfdismissViewControllerAnimated:completion],如果presentedVC和presenting VC之間有數據傳遞的話,建議在presentedVC中使用代理方法dissmiss掉presented VC

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章