来自presentViewController的PresentViewController没有显示导航栏

时间:2017-02-01 13:36:24

标签: ios uinavigationcontroller uinavigationbar presentviewcontroller

我有三个视图控制器(vc1,vc2,vc3)和两个导航控制器(nav1,nav2)。

  • nav1是故事板的入口点。
  • vc1是nav1的rootViewController。
  • vc2是nav2的rootViewController。
  • nav2从vc1到nav1。

现在,当我尝试通过nav2从vc2呈现vc3时,导航栏未显示。

2 个答案:

答案 0 :(得分:1)

您需要使用navigationController显示您的控制器。

ViewController *objVC  = [self.storyboard instantiateViewControllerWithIdentifier:@"viewcontrollerid"];
UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:objVC];
[self.navigationController presentViewController:navController animated:YES completion:nil];

答案 1 :(得分:0)

现在,iOS的工作方式,它永远不会在呈现的视图控制器中为您提供导航控制器的实例,因为当您呈现视图控制器时,它不会添加到导航控制器的viewcontroller堆栈中。 您可以在另外两个中看到导航控制器的原因是因为您要呈现导航控制器本身而不是视图控制器。