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 时,它的创建独立于它来自的导航控制器。
- 打开你的故事板并点击 segue(视图控制器之间的箭头),并为其分配一个标识符,即 "SegueToNewViewController"。
从作为导航控制器子项的 ViewController 调用以下方法:
[self performSegueWithIdentifier:@"SegueToNewViewController" sender:self];
这将执行从调用 ViewController 到新 ViewController 的 segue,包括 NavigationBar
我正在不同的情节提要中加载视图控制器:
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 时,它的创建独立于它来自的导航控制器。
- 打开你的故事板并点击 segue(视图控制器之间的箭头),并为其分配一个标识符,即 "SegueToNewViewController"。
从作为导航控制器子项的 ViewController 调用以下方法:
[self performSegueWithIdentifier:@"SegueToNewViewController" sender:self];
这将执行从调用 ViewController 到新 ViewController 的 segue,包括 NavigationBar