当从 UITableViewController 推送到 UIViewController 时,底部标签栏消失并保持黑色

bottom tabbar disappears and leave black when pushed from UITableViewController to UIViewController

在我的用例中,我想在离开 UITabbarController 时隐藏底部的标签栏。

我正在使用

let vc = storyboard?.instantiateViewController(withIdentifier: tableData[indexPath.row]["vcIdentifier"]!)
self.hidesBottomBarWhenPushed = true
self.show(vc!, sender: self)

它有点管用,因为推送的视图控制器底部没有标签栏。但是,一旦我点击导航,"sender" 视图控制器的底部标签栏就会消失并留下黑色区域。

如果您需要了解更多信息,请告诉我。非常感谢!

如果pushed view controller底部没有tab bar,可以添加这个view controller生命周期代码。

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    tabBarController?.tabBar.isHidden = true
    }
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    tabBarController?.tabBar.isHidden = false
}

如果你想在转到下一个屏幕时隐藏标签栏,你可以使用 segue。它会自动隐藏它。