本文介绍了hidesBottomBarWhenPushed 但弹出时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到了一个看似很简单的问题.我的应用程序有一个视图层次结构,其中包含一个包含 UINavigationControllers 的 UITabBarController.当我从根导航到第二级时我将 hidesBottomBarWhenPushed 设置为 true,以便隐藏标签栏

I've a problem with something that seems to be very simple.My app has a view hierarchy consisting in a UITabBarController containing UINavigationControllers. When I navigate from the root to the second levelI set the hidesBottomBarWhenPushed on true so that the tab bar is hidden

在我的 firstLevelController 上:

On my firstLevelController:

[secondLevelController setHidesBottomBarWhenPushed:YES];

[self.navigationController pushViewController:secondLevelController animated:YES];

之后,当我推到第三级时,我通过在 secondLevelController 中执行再次带上标签栏:

After that when I push to the third level, I bring the tab bar again by doing in the secondLevelController:

[self setHidesBottomBarWhenPushed:NO];

[thirdLevelController setHidesBottomBarWhenPushed:NO];

[self.navigationController pushViewController:thirdLevelController animated:YES];

(我知道,我也不喜欢 [self setHidesBottomBarWhenPushed:NO],但它在其他方面不起作用......)

(I know, I didn't like the [self setHidesBottomBarWhenPushed:NO] either, but it didn´t work otherwise...)

所以,问题来了:当我在第三级按下后退按钮并出现第二个视图时,我需要再次隐藏标签栏,但我找不到这样做的方法.

感谢任何帮助

推荐答案

这对我有用.

[self setHidesBottomBarWhenPushed:NO];
[thirdLevelController setHidesBottomBarWhenPushed:NO];
[self.navigationController pushViewController:thirdLevelController animated:YES];
[self setHidesBottomBarWhenPushed:YES];

在弹出第三层控制器时,第三层控制器显示标签栏,而第二层控制器不显示标签栏.

The thirdlevelController shows the tabbar and secondLevelController does not show the tabbar when you pop the thirdLevelController.

这篇关于hidesBottomBarWhenPushed 但弹出时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-15 11:35