当我按下主视图控制器中的按钮或单元格(在表格中)以推送到另一个视图控制器时,我想要隐藏底栏,而当我按下底部栏中的按钮时,我想隐藏 。 当我回到主视图控制器我想回到底部栏
我在主视图控制器中尝试了代码: hidesBottomBarWhenPushed = true
但是当我按下底栏中的一个项目并返回到主视图控制器时,底栏消失,当我转到新视图控制器时(通过从主视图控制器推送),底部相同主视图控制器中的栏消失。
答案 0 :(得分:5)
到目前为止,我可以看到你必须隐藏第一个视图控制器中prepareForSegue func中的底栏。以下代码在我这方面运作良好:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "yourSegue" {
if let indexPath = tableView.indexPathForSelectedRow() {
if let destVC = segue.destinationViewController as? TargetVC {
destVC.hidesBottomBarWhenPushed = true
}
}
}
}
答案 1 :(得分:2)
答案 2 :(得分:0)
在推送的View控制器中:
init() {
super.init(nibName: nil, bundle: nil)
self.hidesBottomBarWhenPushed = true
}
答案 3 :(得分:0)
由于PeiweiChen的回答对我不起作用,我想出了这个:
(必须将其放入推送的View Controllers文件中)
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.hidesBottomBarWhenPushed = true
}
PS:这是Swift 2.0