我有一個視圖控制器層次結構和最上面的控制器被顯示爲模式和想知道如何顯示導航欄使用presentViewController和顯示導航欄
'UIViewController:presentViewController:viewControllerToPresent:animated:completion'
關於「presentViewController該文檔時:注:
'在iPhone和iPod touch上,呈現的視圖始終爲全屏。 在iPad上,演示文稿取決於 modalPresentationStyle屬性中的值。'
對於「modalPresentationStyle」,文檔說:
呈現樣式決定如何一個模態呈現視圖控制器在屏幕上顯示。在iPhone和iPod touch上,模式視圖控制器總是全屏顯示,但在iPad上有幾種不同的顯示選項。
有沒有辦法確保導航欄在狀態欄下方可見,一旦視圖控件顯示出來?我是否應該將文檔解釋爲,您沒有獲得iPhone/iPod的任何選項,只能在iPad上使用?
以前,我使用的是'UIViewController:presentModalViewController:animated'
,它工作正常,但自iOS 5.0以來,API已被棄用,因此我正在切換到新的。
從視覺上看,我期望做的就是讓新控制器從屏幕底部滑入,就像舊API一樣。
[代碼爲更新]:
// My root level view:
UIViewController *vc = [[RootViewController alloc]
initWithNibName:nil
bundle:[NSBundle mainBundle]];
navController = [[UINavigationController alloc] initWithRootViewController:vc];
....
// Within the RootViewController, Second view controller is created and added
// to the hierarchy. It is this view controller that is responsible for
// displaying the DetailView:
SecondTierViewController *t2controller = [[SecondTierViewController alloc]
initWithNibName:nil
bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:t2controller animated:YES];
// Created by SecondTierViewController
DetailViewController *controller = [[DetailViewController alloc] initWithNibName:nil
bundle:[NSBundle mainBundle]];
controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
controller.modalPresentationStyle = UIModalPresentationCurrentContext;
[self.navigationController presentViewController:controller
animated:YES
completion:nil];
這幾乎是我開始的。但是我沒有使用'presentModalViewController'的原因是因爲它被稱爲不贊成使用的API。 – 2012-03-15 18:22:09
這是在UIViewController類中寫入的內容: //將另一個視圖控制器顯示爲模態子項。如果使用動畫,則使用垂直圖紙過渡。此方法已由presentViewController取代:動畫:完成: //將進行相應的計劃。 (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated; 所以只需調用新方法並通過零來完成,你應該很好。 – 2012-03-15 18:24:34
很好的回答。更新爲使用'(void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void(^)(void))completion' – 2014-07-18 15:00:59