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

问题描述 投票:0回答:2

在我的用例中,我想在远离UITabbarController导航时隐藏底部的tabbar。

我在用

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

它有效,因为推送的视图控制器底部没有tabbar。但是,只要我点击导航,“发件人”视图控制器的底部标签栏就会消失并留下黑色区域。

如果您需要了解更多信息,请与我们联系。非常感谢提前!

swift uitabbar
2个回答
4
投票

如果推送的视图控制器底部没有标签栏,则可以添加视图控制器代码的生命周期。

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

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

1
投票

如果要在进入下一个屏幕时隐藏tabbar,可以使用segue。它会自动隐藏它。

© www.soinside.com 2019 - 2024. All rights reserved.