【问题标题】:How to get all navigation controllers to root in tab bar?如何让所有导航控制器在标签栏中扎根?
【发布时间】:2011-06-23 06:29:00
【问题描述】:

我有一个应用程序,它在标签栏控制器中有三个标签。每个标签栏项目都有一个导航控制器,第一个标签栏项目上有一个注销按钮。现在,如果我导航到不同的导航控制器并注销,那么所有导航控制器对新用户保持相同的状态。我希望所有导航控制器在用户注销时都能进入根目录。

【问题讨论】:

    标签: iphone objective-c uinavigationcontroller uitabbarcontroller


    【解决方案1】:

    试试这个:

    for (UINavigationController *navController in myViewController.tabBarController.viewControllers) {
        [navController popToRootViewControllerAnimated:NO];
    }
    

    【讨论】:

    • 把这段代码放在哪里我已经用代码对导航控制器做了任何事情。我直接从 xib 使用它
    • 任何地方,可能在您的注销按钮操作中,其中“myViewController”将是self
    【解决方案2】:

    我认为您的问题可以通过编写注销方法来解决,该方法会弹出所有添加到根控制器的视图控制器。当用户点击注销按钮时,所有视图控制器都应该弹出,如果需要调用所有三个视图控制器中的操作。

    希望它会起作用..

    【讨论】:

      【解决方案3】:

      jtbandes,您的回答非常有效,但是如果我只需要为一个选项卡推送根视图控制器怎么办?我不想让其他标签成为修饰符,我只需要推送一个标签的根视图控制器。

      【讨论】:

      • 备案:刚刚回答了我自己的问题。答案是:UINavigationController *navig = [self.tabBarController.viewControllers objectAtIndex:3]; --> 将“3”替换为您要刷新的选项卡的索引。
      猜你喜欢
      • 2012-12-02
      • 2017-05-14
      • 1970-01-01
      • 1970-01-01
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多