1

我正在导航到带有来自 RootViewController 的 6 个选项卡的选项卡栏控制器...我在左侧导航栏项目中创建了后退按钮方法,该方法将所有选项卡视图弹出到 RootViewController...当我尝试弹出第 5 个或第 5 个选项卡视图时出现问题。 . 后退按钮在 MoreViewController、第 5 个选项卡和第 6 个选项卡中根本不起作用...

以下是有效的方法: 1) 从 1 到 4 个选项卡弹出回 RootView

2)从更多视图弹出回RootView(仅在第一次工作时)

3)从第 5/第 6 视图弹回更多视图(仅在第一次工作时)

这是不起作用的:1)不会从 MoreView 弹回 RootView

我究竟做错了什么?

- (void)viewDidLoad
{
...
   self.tabBarController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonSystemItemDone target:self action:@selector(goBack)];
...
}

每个选项卡中编写的 goBack 方法代码

-(void)goBack{

    [self.navigationController popToRootViewControllerAnimated:NO];
}
4

2 回答 2

0

试试这个..也许它会帮助你

NSArray *viewContrlls=[[self navigationController] viewControllers];
    for( int i=0;i<[ viewContrlls count];i++)
    {
        id obj=[viewContrlls objectAtIndex:i];
        if([obj isKindOfClass:[rootController class]])
        {
            [[self navigationController] popToViewController:obj animated:YES];

            return;
        }
    } 
于 2013-02-18T08:44:19.603 回答
0

我想出了问题所在,所以我要回答我自己的问题...我在每个选项卡中都写了 popToRootViewController .. 所以当我进入第 5 个选项卡并按回时,它会回到更多视图选项卡并忘记关于根视图.. 所以我从每个选项卡中删除了 popToRootViewController 并编写了用于在根视图页面中的选项卡栏声明时弹出视图的代码......例如。标签栏声明,然后设置标签栏导航按钮返回调用一些方法......在那个方法中我写了popToRootViewController......

于 2013-02-19T09:45:53.177 回答