推送视图时如何隐藏tabBar?

时间:2012-01-02 13:23:51

标签: objective-c ios uitabbarcontroller

我的应用程序是Tabbed Appliaction,它在tabBarController下有几个控制器。一个控制器是navigationController,其根视图是表视图。当我单击表视图的一行时,将推入另一个视图。 所以问题是当视图被推入时,我如何隐藏底部的tabBar? 此外,我还想在推送视图中添加另一个tabBar,所以我需要分配一个UITabBar或UITabBarController?还是有另一种方式?谢谢!

5 个答案:

答案 0 :(得分:57)

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

-(BOOL)hidesBottomBarWhenPushed
{
    return YES;
}

<强>更新

正如@Yuchen Zhong在他的回答中所建议的,这个选项现在可以在故事板中找到。

enter image description here

答案 1 :(得分:17)

您现在可以在故事板中执行此操作:

  1. 在故事板中选择 UIViewController
  2. 选中在推送时隐藏底栏
  3. 复选框

    enter image description here

答案 2 :(得分:11)

如果要隐藏标签栏,请设置UIViewController.hidesBottomBarWhenPushed = YES。

...
nextViewController.hidesBottomBarWhenPushed = YES;
...

答案 3 :(得分:5)

有时hidesBottomBarWhenPushed方法会隐藏底部条形图并使用不稳定的动画。

而是使用

隐藏viewDidLoad中的tabbar
self.tabBarController.tabBar.hidden = YES;

并恢复其在viewWillDisappear中的存在

self.tabBarController.tabBar.hidden = NO;

答案 4 :(得分:0)

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

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

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    segue.destination.hidesBottomBarWhenPushed = true
}