2017-06-01 109 views
0

我有我的故事板佈局如下:的iOS:導航欄不顯示在從主視圖控制器嵌入

enter image description here

當我按一下按鈕我加載藍色視圖控制器:

- (IBAction)blue:(id)sender { 

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    BlueViewController *blue = [storyboard instantiateViewControllerWithIdentifier:@"BlueViewController"]; 
    [self presentViewController:blue animated:YES completion:nil]; 
} 

藍色視圖控制器具有導航欄嵌入。但不顯示在藍色viewcontoller或粉紅色視圖控制器:

enter image description here 我給你們的問題是我做錯了什麼?或者爲什麼視圖控制器不顯示?

回答

2

爲藍色VC的導航控制器提供一個故事板ID,並提供該藍色VC代替。

如果您展示的是VC,即使它有一個導航控制器,它也不會顯示爲只顯示視圖cotroller。

- (IBAction)blue:(id)sender { 

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    UINavigationController *blueNavVC = [storyboard instantiateViewControllerWithIdentifier:@"BlueViewControllerNavigationController"]; 
    [self presentViewController: blueNavVC animated:YES completion:nil]; 
} 

而當你想從藍色移至粉紅色,你需要推到粉紅色控制器爲粉紅色是藍色的導航控制器堆棧的一部分!

+0

你的意思是?,你可以發表一個例子嗎? – user2924482

+0

新增了code @ user2924482 –

+0

非常感謝您的幫助! – user2924482

0

如果你想在視圖控制器上呈現,那麼你必須在你的控制器頂部添加一個自定義視圖,它在你的導航控制器上。如果你推控制器,那麼你不需要上述。你會找到相同的導航欄。 Cz它在您的導航控制器堆棧中。

相關問題