我正在创建一个项目,其中第一个MainPage是TabBarController(MainTabController)。但后来我传递给另一个Viewcontroller还有一个tabbetViewControllers(secondTabbedController)。现在,当我传递给secondTabbedController时,MainTabController的选项卡没有隐藏。应该有secondTabBarController项,但第一个选项卡项(MainTabBarController)。我想这是因为navigationController和如果我删除它它是修复。但我需要这个NavigationController。怎么解决?
答案 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“属性检查器”中进行设置。