iOS: 不同故事板中的 presentViewController 不显示导航栏

iOS: presentViewController in different storyboard is not showing navigation bar

我正在不同的情节提要中加载视图控制器:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"NewStoryBoard" bundle:nil];
NewViewController *detailViewController = [storyboard instantiateViewControllerWithIdentifier:@"NewViewController"];
[self presentViewController:detailViewController animated:YES completion:Nil];

但未在设备中显示导航栏。你们知道为什么会这样或者我该如何解决这个问题?

非常感谢你的帮助。

试试这个

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"NewStoryBoard" bundle:nil];
NewViewController *detailViewController = [storyboard instantiateViewControllerWithIdentifier:@"NewViewController"];
UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:detailViewController];
[self presentViewController:navController animated:YES completion:Nil];

与其从标识符实例化 ViewController,不如尝试使用 performsegueWithIdentifier 进行转换。当您实例化 ViewController 时,它的创建独立于它来自的导航控制器。

  1. 打开你的故事板并点击 segue(视图控制器之间的箭头),并为其分配一个标识符,即 "SegueToNewViewController"。
  2. 从作为导航控制器子项的 ViewController 调用以下方法:

    [self performSegueWithIdentifier:@"SegueToNewViewController" sender:self];

这将执行从调用 ViewController 到新 ViewController 的 segue,包括 NavigationBar