如何在导航控制器之间切换?

Rex*_*ids 6 iphone xcode uikit uinavigationcontroller

情况:
我有一个基于"基于导航的应用程序"模板的Xcode项目.这意味着我有一个管理UIViewController的SINGLE UINavigationController.

我想要做
什么:我想要做的是在我的项目中添加一个UINavigationController - 并且能够在它们之间来回切换.(我想这样做是为一些单独的无关内容腾出空间,这样它就没有一个指向根视图控制器的后退按钮.)

问题:
如何在项目中添加一个UINavigationController并在两个UINavigationControllers之间切换?

all*_*eus 9

最常见,最自然的iPhone OS,这样做的方法是在UITabBarController应用程序中添加一个.Xcode模板选项卡栏应用程序将指导您如何使用它的正确方向.

但...

如果您不希望在应用程序中使用Tab Bar,并希望在不同的UINavigationController实例(或任何相关的实例)之间切换UIViewController,您可以执行类似的操作.

首先,您需要UINavigationController在适当的位置创建实例(例如,新的视图控制器,或者在应用程序代理中,如果您想要轻松实现).然后,您可以通过交换哪个导航控制器应该可见的视图在控制器之间切换.

Application Delegate中的示例,"firstNavigationController"和"secondNavigationController"是UINavigationController实例变量:

- (void)showFirstNavigationController {
    [secondNavigationController.view removeFromSuperview];
    [self.window addSubview:firstNavigationController.view];
}
Run Code Online (Sandbox Code Playgroud)

这将只显示第一个而不是第二个导航控制器.请注意,此示例非常简单.我没有考虑到你应该正确处理方法viewWillAppear:,viewDidAppear:等等.