4

请帮我解决这个问题。

我在我的应用程序中使用 tabbarcontroller,

[tabBarController setViewControllers:tabs]; 选项卡包含视图控制器数组(6 个视图控制器)。

它会自动创建更多按钮。

问题

当我从更多按钮打开任何视图控制器,然后从索引 0 到 2 打开任何其他控制器,然后按更多按钮,它会保持上次打开的视图控制器。

例如:更多按钮 tableviewcontroller

屏幕 :在此处输入图像描述

现在,当我按下联系人时,让我们说

在此处输入图像描述

现在,当用户按下任何其他选项卡栏时,例如功能选项卡栏

在此处输入图像描述

现在,当用户返回更多选项卡时,它会显示联系人的视图控制器 在此处输入图像描述

但是我希望应用程序在用户再次返回更多选项卡时弹出rootviewcontroller,并且只是更多tableviewcontroller。

在此处输入图像描述

4

2 回答 2

2

您可以在 More 选项卡中视图控制器的 ViewWillDisappear 方法中执行此操作,调用该方法将视图从 MoreViewNavigationController 中弹出,如下所示:

- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.navigationController popViewControllerAnimated:NO];
}
于 2012-05-29T06:36:16.720 回答
0

可能为时已晚,但这里供将来参考

UITabController有一个tabBar属性,它有一个委托,它告诉你什么时候tabitem点击a

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item 

选项卡栏还有另一个属性“项目”,其中列出了可见选项卡。在委托方法实现中的项目中查找所选选项卡项的索引,如果索引为 4 哪个是更多按钮,则调用选项卡[controller.moreNavigationController popToRootViewController]

于 2013-03-14T19:08:54.947 回答