Ios 如何切换到导航控制器管理的视图?

Ios 如何切换到导航控制器管理的视图?,ios,objective-c,uiviewcontroller,uinavigationcontroller,segue,Ios,Objective C,Uiviewcontroller,Uinavigationcontroller,Segue,我正在开发一个应用程序(iOS 5+),其中包含一堆由导航控制器管理的视图: MyNavController->MyRootViewController->MyTableViewController->MyDetailViewController 我还有一些视图控制器,它们不由导航控制器管理,用于处理应用程序的登录(LoginViewController)和注册(RegViewController) 当应用程序启动时,它将检查是否已创建帐户。如果是这样,它将依次转到LoginViewContro

我正在开发一个应用程序(iOS 5+),其中包含一堆由导航控制器管理的视图:

MyNavController->MyRootViewController->MyTableViewController->MyDetailViewController

我还有一些视图控制器,它们不由导航控制器管理,用于处理应用程序的登录(LoginViewController)和注册(RegViewController)

当应用程序启动时,它将检查是否已创建帐户。如果是这样,它将依次转到LoginViewController进行用户登录,然后再转到MyRootViewController。但是,如果未检测到登录,则将向用户显示RegViewController场景以创建帐户。然后,我想让用户直接进入MyTableViewController场景,绕过RootViewController场景。这是否可能(通过故事板或编程)?我试图定义一个从RegViewController到MyTableViewController的模式序列,这似乎部分起作用-它可以进入场景,但屏幕顶部缺少导航栏。但当我选择一个表项时,它无法转到MyDetailViewController。它会崩溃,错误为“推送序列只能在源控制器由UINavigationController实例管理时使用。”

有什么建议吗


提前感谢。

选择MyDetailViewController。在顶部选择编辑器->嵌入->导航控制器。

您考虑过从初始视图控制器将登录或注册视图控制器显示为模式视图吗?这是一个很好的建议。然而,对于我的注册过程,我实际上有两个视图,我的注册视图与我的登录视图是分离的,因为我在登录视图中有一个“创建帐户”按钮,可以切换到注册。视图:(LoginViewController->RegViewController1->RegViewController2)。因此,如果我的初始视图使用presentViewController方法显示登录视图,并且用户最终进入了RegViewController2,那么我如何返回MyRootViewController?初始视图控制器(导航控制器之后的控制器)不应该有任何交互UI元素(可能只是微调器或飞溅图像)。它所做的只是连接到服务器并将用户重定向到正确的路径上。也许我有点困惑,但以下是我根据您的评论所理解的。我的导航相关视图设置:MyNavController->MyRootViewController->MyTableViewController->MyDetailViewController。我的登录/reg视图路径:LoginViewController->RegViewController1->RegViewController2。如前所述,从MyRootViewController连接到LoginView作为模态(使用presentViewController方法?)。(续)但我当前的逻辑流程是,如果LoginViewController中的某些条件得到满足,我将解雇LoginViewController,这将使我返回MyRootViewController。否则,从LoginViewController,用户将通过RegViewController1->RegViewController2继续操作,然后我想退出RegViewController2,返回MyRootViewController,或者能够将用户直接带到MyTableViewController(首选)。我尝试了,但没有帮助。问题仍然存在,我认为这是因为RegViewController不是由UINavigationController管理的。因此,将已经由MyNavController管理的MyDetailViewController嵌入到另一个导航控制器中不会有帮助。如果我没有正确理解你的建议,请纠正我。