2012-03-02 179 views
0

我必須做什麼,在視圖中顯示導航欄,通過presentModalViewController呈現?presentModalViewController does not not naviagionbar

我從代碼調用presentModalViewController。

當我繼續在故事板中的相同視圖時,在這種情況下嵌入在導航器中,一切正常。

THX 雲母

回答

4

你需要一個導航欄添加到一個控制器myViewController的viewWillAppear中的方法,你可以設定A解僱或關閉按鈕模態

UIViewController* myViewController = [[UIViewController alloc] init]; 
UINavigationContoller* navController = [[UINavigationController alloc] initWithRootViewController:myViewController]; 
[self presentModalViewController:navController animated:YES]; 

呈現然後換模態控制器時。

如果您正在使用Storyboard,另一種方法是僅通過名稱獲取故事板並通過標識符實例化控制器。

UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"storyboard" bundle:nil]; 
[storyboard instantiateViewControllerWithIdentifier:@"myViewController"]; 

在第二個示例中myViewController是故事板文件中的UINavigationController。 我假設所有的代碼ARC。

0

假設我理解你的問題,你必須已經存在一個屏幕上的導航視圖控制器,你要打開的下一個畫面,仍然有它存在。

在這種情況下,不是在視圖上使用[view presentModalViewController:animated:],而是在導航視圖控制器上使用[NavController pushViewController:animated:]。

+0

謝謝,我認爲我們沒有模態行爲。例如,如果navcontroller嵌入在TabBarController中。 – mica 2012-03-03 10:24:45