当您通过标签栏返回视图控制器时卡在子视图上

Posted

技术标签:

【中文标题】当您通过标签栏返回视图控制器时卡在子视图上【英文标题】:Stuck on child view when you go back to the view controller via the tab bar 【发布时间】:2011-09-14 02:56:17 【问题描述】:

所以这里是交易。我有一个 iphone 应用程序,我们在标签栏上的视图中,将此标签栏项目称为“tabbar1”,它会推动您通过其他几个没有标签栏的视图(不是问题)。在您转到的最后一个视图中,我们没有使用后退按钮,而是使用以下代码完成按钮:

[self.tabBarController setSelectedIndex:0];

一旦您转到根标签栏项目(工作正常)。问题是当您返回 tabbar1 时,您最终会看到没有 tabbar 的视图,唯一的选择是按下完成按钮并返回到根 tabbar 项目。这绝对是一个循环。

我该如何正确解决这个问题?用切换到根标签栏项目或重置 tabbar1 的方式?

非常感谢您的任何回复。

【问题讨论】:

【参考方案1】:

我假设您正在使用 UINavigationController 来“推送”tabbar1 中的视图控制器。在调用 [self.tabBarController setSelectedIndex:0] 之前;您应该弹出 UINavigationController 堆栈上的所有视图控制器:

[self.navigationController popToRootViewControllerAnimated:NO];
[self.tabBarController setSelectedIndex:0];

【讨论】:

以上是关于当您通过标签栏返回视图控制器时卡在子视图上的主要内容,如果未能解决你的问题,请参考以下文章

隐藏标签栏和导航栏

如何在标签栏视图控制器中显示后退按钮?

如何隐藏带有另一个视图控制器的标签栏视图控制器?

iOS 7 - 后退按钮后标签栏消失

将搜索栏单元格标签链接到视图控制器

切换标签栏项目时,UINavigationController 如何将其整个视图控制器表示层次结构保存在内存中?