从 UINavigationController 启动一个新的 UIViewController
Posted
技术标签:
【中文标题】从 UINavigationController 启动一个新的 UIViewController【英文标题】:Start a new UIViewController from a UINavigationController 【发布时间】:2015-05-09 14:22:53 【问题描述】:我有一个UINavigationController
,我想从那个导航开始一个新的UIViewController
,它有自己的视图控制器。
当我尝试这样做时,我遇到了这个异常
无法在已加载的包中加载 NIB)',其名称和目录为 'Main.storyboardc'''
我正在用这两行代码添加新的视图控制器
UIViewController *mainViewController =[self.storyboard instantiateViewControllerWithIdentifier:@"CGMainViewController"];
[self presentViewController:mainViewController animated:NO completion:nil];
有没有什么方法可以从导航控制器开始一个新的UIViewController
而不将其添加到该导航?
【问题讨论】:
【参考方案1】:你可以:
[self presentViewController:newViewController animated:YES completion:nil];
以模态方式呈现一个新的UIViewController
,而不将其添加到UINavigationController
堆栈中
另外,如果您希望新的 VC 位于新的 UINavigationController
中,那么:
UINavigationController * nc = [[UINavigationController alloc] initWithRootViewController:newViewController];
[self presentViewController:nc animated:YES completion:nil];
如果您的问题更清楚,我可以提供更多信息,并提供一些您从中得到错误的代码。
【讨论】:
当我这样做时出现上述异常 如何在代码中创建和初始化newViewController
?【参考方案2】:
解决了
我的代码运行正常
exception
出现是因为storyboard
中新视图控制器的标识符输入错误
【讨论】:
以上是关于从 UINavigationController 启动一个新的 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章
从 UINavigationController 切换到 UISplitviewController
从UINavigationController中控制UINavigationItem内容
从 UINavigationController 设置 UITabBarItem 标题?
如何从 UINavigationController 隐藏 UINavigationBar?