27

我的应用程序是一个选项卡式应用程序,它在 tabBarController 下有几个控制器。一个控制器是一个导航控制器,它的根视图是一个表格视图。当我点击表格视图的一行时,会推入另一个视图。那么问题是,当视图被推入时,如何隐藏底部的tabBar?另外,我还想在推送视图中添加另一个tabBar,所以我需要分配一个UITabBar或UITabBarController?还是有其他方法?谢谢!

4

5 回答 5

67

在要隐藏 tabBarController 的 UIViewController 类中使用此方法

-(BOOL)hidesBottomBarWhenPushed
{
    return YES;
}

更新

正如@Yuchen Zhong 在他的回答中所建议的那样,这个选项现在可以在情节提要本身中使用。

在此处输入图像描述

于 2012-01-02T13:52:21.620 回答
20

您现在可以在情节提要中执行此操作:

  1. 在情节提要中选择UIViewController
  2. 选中复选框在推送时隐藏底栏

在此处输入图像描述

于 2016-09-30T21:57:46.573 回答
12

UIViewController.hidesBottomBarWhenPushed = YES在您想要隐藏标签栏时设置。

nextViewController.hidesBottomBarWhenPushed = YES;
于 2015-02-20T06:40:10.897 回答
4

有时 hidesBottomBarWhenPushed 方法会隐藏底部栏并带有断断续续的动画。

相反,我在 viewDidLoad 中隐藏了标签栏

self.tabBarController.tabBar.hidden = YES;

并在 viewWillDisappear 中恢复其存在

self.tabBarController.tabBar.hidden = NO;
于 2016-01-20T20:51:11.013 回答
1

true hidesBottomBarWhenPushed在要隐藏的控制器中设置。

隐藏所有控制器放入prepare for segue

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    segue.destination.hidesBottomBarWhenPushed = true
}
于 2019-08-13T17:43:51.107 回答