情况:
我有一个基于“基于导航的应用程序”模板的Xcode项目。这意味着我有一个管理UIViewController的SINGLE UINavigationController。
我想做什么:
我想要做的是在我的项目中再添加一个UINavigationController - 并且能够在它们之间来回切换。 (我想这样做是为了为一些单独的无关内容腾出空间,以便它没有一个指向根视图控制器的后退按钮。)
问题:
如何在项目中添加一个UINavigationController并在两个UINavigationControllers之间切换?
答案 0 :(得分:9)
最常见,最自然的iPhone OS,这样做的方法是在应用程序中添加UITabBarController
。 Xcode模板标签栏应用程序将指导您如何使用它。
但是...
如果您不希望应用程序中有标签栏,并希望在不同的UINavigationController
实例(或任何UIViewController
)之间切换,您可以执行类似的操作。
首先,您需要在适当的位置创建UINavigationController
实例(例如,新的视图控制器,或者在应用程序代理中,如果您想要轻松实现)。然后,您可以通过交换哪个导航控制器应该可见的视图来切换控制器。
Application Delegate中的示例,“firstNavigationController”和“secondNavigationController”是UINavigationController
个实例变量:
- (void)showFirstNavigationController {
[secondNavigationController.view removeFromSuperview];
[self.window addSubview:firstNavigationController.view];
}
这将只显示第一个而不是第二个导航控制器。请注意,此示例非常简单。我没有考虑到你应该正确处理方法viewWillAppear:
,viewDidAppear:
等等。