【问题标题】:How to hide the tabBar when push a view?推送视图时如何隐藏tabBar?
【发布时间】:2012-01-31 20:22:34
【问题描述】:

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

【问题讨论】:

    标签: ios objective-c swift uitabbarcontroller


    【解决方案1】:

    当你想隐藏标签栏时设置UIViewController.hidesBottomBarWhenPushed = YES

    nextViewController.hidesBottomBarWhenPushed = YES;
    

    【讨论】:

      【解决方案2】:

      在要隐藏的控制器中设置truehidesBottomBarWhenPushed

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

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

      【讨论】:

        【解决方案3】:

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

        -(BOOL)hidesBottomBarWhenPushed
        {
            return YES;
        }
        

        更新

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

        【讨论】:

        • 谢谢!我使用了这种方法,但它仍然不起作用。我还使用了“myViewController.tabBarController.hidesBottomBarWhenPushe = YES”,但也没有用。我对此感到困惑。我需要改变我的结构还是有更好的方法?谢谢!
        • 我有一个类似的 TabBar 应用程序,其中 NavigationController 作为其第一个控制器,但在 navigationController 中我只添加了一个 tableView,并将其他视图推送到 table view 的 didSelectRow 方法中。你有没有用 tableVeiwController 而不是一个简单的 tableView..??如果您在此处粘贴一些代码会很有帮助
        • 谢谢!我最终做到了。将navigationController放入viewController是我自己的错。当我直接使用navigationController时,它成功了。非常感谢!
        【解决方案4】:

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

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

        【讨论】:

          【解决方案5】:

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

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

          self.tabBarController.tabBar.hidden = YES;
          

          并在 viewWillDisappear 中恢复它的存在

          self.tabBarController.tabBar.hidden = NO;
          

          【讨论】:

          • 不好,因为你在这个 VC 中假设堆栈上的另一个 VC 想要标签栏 - 而且viewDidLoad 是错误的位置,因为即使这个 VC 还没有出现,它也可能被调用, self.tabBarController 也可能是 nil
          猜你喜欢
          • 2019-10-27
          • 2017-01-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-07
          • 1970-01-01
          • 1970-01-01
          • 2020-02-15
          相关资源
          最近更新 更多