2017-06-01 47 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它在您的导航控制器堆栈中。

相关问题