【问题标题】:Bottom tabBar controller not hiding when I pass to another viewController当我传递给另一个 viewController 时,底部 tabBar 控制器没有隐藏
【发布时间】:2017-09-29 05:38:27
【问题描述】:

我正在制作一个项目,其中第一个 MainPage 是 TabBarController(MainTabController)。但是后来我传递给另一个 Viewcontroller,还有一个 tabbetViewControllers(secondTabbedController)。现在,当我传递给 secondTabbedController 时, MainTabController 的选项卡并没有隐藏。应该有 secondTabBarController 项,但有第一个选项卡项(MainTabBarController)。我猜这是因为导航控制器,如果我删除它,它就是修复。但我需要这个 NavigationController。如何解决?

这是您可以在第一张图片中找到的 ArticlesViewController:

【问题讨论】:

  • 当你推送你的 secondViewController 时,尝试在 viewWillDisappear 中隐藏标签栏视图
  • 您是否需要第二个 VC 上的其他选项卡?

标签: ios swift uitabbarcontroller


【解决方案1】:

解决方法如下: 在第一个视图控制器中编写此代码

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    // this will show the tabbar when come back to first viewcontroller
    self.tabBarController?.tabBar.isHidden = false
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    // this will hide the tabbar when moved next viewcontroller
    self.tabBarController?.tabBar.isHidden = true
}

【讨论】:

    【解决方案2】:

    当你推送视图控制器时,这就是“hidesBottomBarWhenPushed”

    let objViewController: ProductDetailsViewController? = UIStoryboard.mainStoryboard().instantiateViewController(withIdentifier: "ProductDetailsViewController") as? ProductDetailsViewController
    objViewController?.hidesBottomBarWhenPushed = true
    navigationController?.pushViewController(objViewController ?? UIViewController(), animated: true)
    

    您也可以在 ViewController XIB“属性检查器”中设置此项,只需单击“在推送时隐藏底栏”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-25
      • 1970-01-01
      • 1970-01-01
      • 2015-04-01
      相关资源
      最近更新 更多