如何以模态方式呈现 VC,然后转到嵌入在导航控制器中的 VC

Posted

技术标签:

【中文标题】如何以模态方式呈现 VC,然后转到嵌入在导航控制器中的 VC【英文标题】:How to present VC modally then segue to a VC that's embedded in a Navigation Controller 【发布时间】:2016-01-24 02:56:02 【问题描述】:

我的应用流程是这样的:

(1) 应用会将您引导至嵌入在 NavigationController 中的 LogInViewController

(2) 在LogInViewController 内部如果runCount < 1 我想介绍一组没有嵌入导航堆栈的教程VC。

(3) 您可以点击“跳过”,或者在浏览 VC 教程后点击“确定”button,所有这些都会让您回到LoginViewController

问题是当你被转回LogInViewController 时,就没有NavigationController

解决这个问题的最佳方法是什么?

【问题讨论】:

当你说当你转回LogInViewController时,“没有NavigationController”,你的意思是顶部的导航栏不再存在吗?此外,这与您的问题无关,但进行这些首次介绍的典型方法不是让 LogInViewController 类型成为第一个控制器,而是在打开应用程序时显示更像默认视图控制器的东西,并在检测到它第一次运行时直接转到介绍。 谢谢,也许这就是在LogInViewController 之前创建启动屏幕类型VC(没有嵌入NavigationController)的答案。是的,我的意思是 NavigationBar 不再存在以及错误“尝试在 上呈现 其视图不在窗口层次结构中!” 【参考方案1】:

答案非常简单,我不需要将按钮连接到我的LogInViewController,而是将它们连接到NavagationController,因为它提供了LogInViewController

【讨论】:

以上是关于如何以模态方式呈现 VC,然后转到嵌入在导航控制器中的 VC的主要内容,如果未能解决你的问题,请参考以下文章

嵌入到导航控制器中的动画根视图控制器以模态方式呈现

从 UINavigationVController 导航以模态方式呈现到根 UINavigationVController - swift

如何在一种情况下推送视图控制器,但在另一种情况下以模态方式呈现它?

以模态方式呈现视图控制器时,导航栏与黑色而不是白色混合

以模态方式将嵌入在导航控制器中的视图控制器与标签栏控制器分开

如何检查视图控制器是不是以模态方式呈现或推送到导航堆栈上?