常用的就兩種: 一種通過導航,一種直接跳
第一種 直接跳轉 思路大致就是new一個目的頁面,然後設定下頁面跳轉動畫 中間還可以做點目的頁面的資料初始化:
ValueInputView *valueView = [[ValueInputView alloc] initWithNibName:@"ValueInputView"bundle:[NSBundle mainBundle]];
valueView.delegate = self;
[valueView setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[self presentModalViewController:valueView animated:YES];
//返回
[self dismissModalViewControllerAnimated:YES];
第二種:
利用UINavigationController,呼叫pushViewController,進行跳轉;這種採用壓棧和出棧的方式,進行Controller的管理。呼叫popViewControllerAnimated方法可以返回
PickImageViewController *ickImageViewController = [[PickImageViewController alloc] init];
[self.navigationController pushViewController: ickImageViewController animated:true];
四種setModalTransitionStyle風格
UIModalTransitionStyleCoverVertical 從底部滑入
UIModalTransitionStyleFlipHorizontal,水平翻轉進入
UIModalTransitionStyleCrossDissolve,交叉溶解
UIModalTransitionStylePartialCurl,翻頁
場景切換
多個場景之間切換的樣式(Style)總共有5個:
-
Modal(模態) — 過渡到另一個場景,以完成一項任務。任務完成後,將關閉該場景,並返回到原來的場景。
-
Push(壓入) — 建立一個場景鏈,使用者可在其中前後移動。用於導航檢視控制器。
-
Replace(替換,僅適用於iPad) — 替換當前場景,用於一些iPad特有的檢視控制器。
-
Popover(彈出框,僅適用於iPad) — 一個帶箭頭的彈出框。
-
Custome(自定義) — 通過編譯在場景之間進行自定義過渡。
過渡型別(Transition)是從一個場景切換到另一個場景時播放的動畫。有4個選項:
-
Cover Vertical — 新場景從下向上移動,逐漸覆蓋舊場景。
-
Flip Horizontal — 檢視水平翻轉,以顯示背面的新場景。
-
Cross Dissolve — 舊場景淡出,新場景淡入。
-
Partial Curl — 舊場景像書頁一樣翻開,顯示下面的新場景。
在iPad應用程式中,還會多出一個Presentation屬性,它決定了模態檢視在螢幕上的顯示方式。有4種顯示樣式:
-
Form Sheet(表單) — 將場景調整到比螢幕小(不管朝向),並在當前場景後面顯示原始場景,這幾乎相當於在一個iPad視窗中顯示。
-
Page Sheet(頁面) — 調整場景大小,使其以縱向格式顯示。
-
Full Screen(全屏) — 調整場景大小,使其覆蓋整個螢幕。
-
Current Context(當前上下文) — 以原始場景的顯示方式展示場景。