在标签栏应用程序中重置以前的导航控制器
Posted
技术标签:
【中文标题】在标签栏应用程序中重置以前的导航控制器【英文标题】:reset previous navigation controller in tab bar application 【发布时间】:2010-11-26 22:35:31 【问题描述】:我有一个标签栏应用程序,里面有一个导航控制器和视图控制器。这就是它的布局方式。
Tab Bar 1
- Navigation Controller
-- Root View Controller
-- Other view controller
Tab Bar 2
- Navigation Controller
-- Root View Controller
我想要做的是当我导航到选项卡栏 1 中的其他视图控制器,然后切换到选项卡栏 2,我希望选项卡栏 1 返回其根视图控制器。
我正在寻找的行为类似于 iPod 应用程序。任何帮助表示赞赏。谢谢!
【问题讨论】:
【参考方案1】:听起来您已经开始使用“选项卡栏应用程序”模板,因此您的应用委托很可能也是您的 UITabBarController 的委托。 UITabBarControllerDelegate 有这个方法:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
在此方法中,您将检查“viewController”是否是您的第一个导航控制器,如果是,请将导航控制器 viewControllers 属性设置为子视图控制器的数组,其中根视图控制器位于索引 0。
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
if (viewController == firstNavController)
viewController.viewControllers = [NSArray arrayWithObjects:rootViewController, otherViewController, nil];
【讨论】:
以上是关于在标签栏应用程序中重置以前的导航控制器的主要内容,如果未能解决你的问题,请参考以下文章