【问题标题】: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 应用程序。任何帮助表示赞赏。谢谢!

【问题讨论】:

    标签: iphone viewcontroller navigationcontroller tabbarcontroller


    【解决方案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];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-10
      • 2015-05-03
      • 2020-12-06
      相关资源
      最近更新 更多