2012-08-01 171 views
0

這甚至可能嗎?我有3個UIViewControllers:主屏幕(A),用戶點擊按鈕進入(B)的屏幕以及登錄屏幕(C)。如果用戶沒有登錄,它將從A - > C,並且當他們登錄時它應該從C - > B,但是我需要在C下方並且在C被解除之前呈現B.在當前視圖控制器下加載視圖控制器

回答

0

您可以在沒有動畫的情況下以模態方式呈現視圖控制器。

[self presentViewController:viewControllerC animated:NO completion:nil]; 

爲此,您可以在didFinishLaunchingWithOptions:這意味着你的登錄視圖控制器會出現啓動之後。然後當用戶成功登錄,您只需撥打

[self dismissModalViewControllerAnimated:YES]; 

的C視圖控制器(或哪一個是登錄一個),並將其向下滑動,露出主應用程序。這是一個很酷的效果。您也可以選擇更改視圖控制器的過渡方式有它周圍的水平翻轉,露出了登錄後的應用程序等

viewControllerC.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
0

如果您呼叫的按鈕,登錄屏幕對主的UIViews你可以做屏幕[self.view sendSubViewToBack:subview];

+0

是否有類似這樣的可以從自己(UIViewController)而不是UIView訪問? – Chris 2012-08-01 14:24:19

+0

不,因爲你在屏幕上看到的是ViewController的UIView,VC本身是MVC開發環境中View和Controller的組合。所以我做的是有一個主要的VC,然後將其他VC加入到/根據需要進行管理,並管理來自第一個VC的VC.views。 – PruitIgoe 2012-08-01 19:24:18

0

您可以在A模式視圖中呈現C,然後解除C之前的推送B. 這就是如果您想使用C模式演示(這對我來說似乎更好)。

即使不是這種情況,您仍然可以在C出現之後或剛剛開始消失之前更改navigationController的viewControllers。

相關問題