如何在需要的地方显示和隐藏标签栏?

Posted

技术标签:

【中文标题】如何在需要的地方显示和隐藏标签栏?【英文标题】:How to show and hide tab bar at required places? 【发布时间】:2011-07-07 07:56:54 【问题描述】:

您好,我正在制作一个应用程序,其中有从 1 到 4 的四个屏幕(视图控制器)。我想显示没有标签栏的屏幕 1。这个屏幕将有三个按钮,用户可以通过这些按钮导航到其他屏幕。现在,当用户点击屏幕 2 按钮时,用户应该导航到屏幕 2,标签栏位于底部。现在此标签栏将有四个标签从屏幕 1 到 4 进行导航。类似地,当现在用户点击标签 1 时,屏幕 1 应该到达这是没有标签栏等等。 我的问题是我无法在所需位置加载或卸载标签栏。我尝试了以下操作:

    我在 statrt up 上打开了屏幕 1,在屏幕 1 的视图上确实加载了标签栏,但它没有工作

    我在主窗口中添加了标签栏,但随后标签栏开始显示在屏幕 1 上。

    请告诉我执行此操作的正确方法(换句话说,一个带有四个标签的标签栏,其中第一个屏幕不应显示标签栏)

提前致谢

【问题讨论】:

【参考方案1】:

使用这一行

self.hidesBottomBarWhenPushed=YES;

用于隐藏标签栏。在推送要隐藏标签栏的页面之前使用它并写下这一行

self.hidesBottomBarWhenPushed=No;

在您要推送的同一页面上viewWillDisappear

【讨论】:

我的应用程序中没有导航控制器。只是一个带有四个标签的标签栏。我不想在第一个标签栏上显示标签栏 然后在MainWindow的TabBarItems中添加导航栏。 应用程序启动时标签栏隐藏【参考方案2】:
self.window.rootViewController = self.navigationController;

首先在窗口中添加您的 rootviewcontroller。 并在其中添加三个按钮。

在按钮的点击事件中添加tabbarcontroller到主窗口

AppDelegate *delegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
delegate.tCtr.selectedIndex = btntag;  //ur button tag;
delegate.tCtr.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:delegate.tCtr animated:YES];

【讨论】:

以上是关于如何在需要的地方显示和隐藏标签栏?的主要内容,如果未能解决你的问题,请参考以下文章

隐藏标签栏并在该位置添加工具栏

显示键盘时如何隐藏cupertinoTabBar?或者如何让键盘覆盖酒吧?还是将标签栏始终保持在底部?

如何在swift 3.0中隐藏连接的segue中的标签栏

隐藏标签栏上的覆盖按钮

隐藏标签栏控制器

如何使用 SWRevealViewController 防止标签栏隐藏?