【问题标题】:Back to Navigation Controller's first view in TabBar app返回导航控制器在 TabBar 应用程序中的第一个视图
【发布时间】:2012-02-26 11:28:10
【问题描述】:

我有一个标签栏应用程序。

标签栏中只有 2 个标签。第一个选项卡是NavigationControllerNavigationController 中有两个视图 - 根视图和详细视图,第二个是 TableViewController。第二个完美,但第一个不完美。

我从第一个视图开始 (NavigationController)。然后在这个NavigationView 中进入详细视图。然后,例如,我转到第二个标签栏视图。然后回到第一个,但是我没有看到根视图,而是详细视图。

如何每次都打开根视图?

【问题讨论】:

    标签: ios xcode uinavigationcontroller uitabbarcontroller uitabbar


    【解决方案1】:

    像这样使用UITabBarController delegate方法tabBarController:didSelectViewController:

    - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
      if (viewController != tabBarItemForNavControllerTab) {
        [self.navControllerInFirstTab popToRootViewControllerAnimated:NO];
      }
    }
    

    还要确保在创建 UITabBarController 时正确设置了委托,并更改我的 sn-p 中的代码以适合您的控制器名称。

    【讨论】:

    • @EugeneTrapeznikov 在 UITabBarControllers 父控制器内部。如果您不确定代表的工作方式,请阅读article
    • 我可以以编程方式设置委托吗?是 self.tabBarController.delegate = self;可以吗?
    • 是的,你的父控制器应该监听
    猜你喜欢
    • 2013-04-11
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多