我的故事板上有以下布局:
当我点击按钮时,我加载蓝色视图控制器:
- (IBAction)blue:(id)sender {
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
BlueViewController *blue = [storyboard instantiateViewControllerWithIdentifier:@"BlueViewController"];
[self presentViewController:blue animated:YES completion:nil];
}
蓝色视图控制器嵌入了导航栏。但是没有在蓝色viewcontoller或粉红色视图控制器上显示:
答案 0 :(得分: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];
}
当你想要从蓝色变为粉红色时,你需要推送粉红色控制器,因为粉红色是蓝色导航控制器堆栈的一部分!
答案 1 :(得分:0)
如果要在视图控制器上显示,则必须在导航控制器上的控制器顶部添加自定义视图。如果您按下控制器,那么您就不需要上述操作。您将找到所有相同的导航栏。 Cz它在您的导航控制器堆栈中。