当我传递给另一个viewController时,底部的tabBar控制器没有隐藏

时间:2017-09-29 05:38:28

标签: ios swift uitabbarcontroller

我正在创建一个项目,其中第一个MainPage是TabBarController(MainTabController)。但后来我传递给另一个Viewcontroller还有一个tabbetViewControllers(secondTabbedController)。现在,当我传递给secondTabbedController时,MainTabController的选项卡没有隐藏。应该有secondTabBarController项,但第一个选项卡项(MainTabBarController)。我想这是因为navigationController和如果我删除它它是修复。但我需要这个NavigationController。怎么解决? enter image description here enter image description here

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

2 个答案:

答案 0 :(得分:0)

以下是解决方案: 在第一个viewcontroller中编写此代码

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
}

答案 1 :(得分:0)

当您按下视图控制器

时,这就是“hidesBottomBarWhenPushed”
let objViewController: ProductDetailsViewController? = UIStoryboard.mainStoryboard().instantiateViewController(withIdentifier: "ProductDetailsViewController") as? ProductDetailsViewController
objViewController?.hidesBottomBarWhenPushed = true
navigationController?.pushViewController(objViewController ?? UIViewController(), animated: true)

您也可以通过点击“在推送时隐藏底栏”在ViewController XIB“属性检查器”中进行设置。