【问题标题】:How can I hide the bottom bar when pushed but stay in the main view Controller推时如何隐藏底栏但留在主视图控制器中
【发布时间】:2014-11-15 09:30:24
【问题描述】:
当我按下主视图控制器中的按钮或单元格(在表格中)以推送到另一个视图控制器时,我想隐藏底栏,而不是当我按下底栏中的按钮时强>。
当我回到那个主视图控制器时我想回到底部栏
我在主视图控制器中尝试了代码:hidesBottomBarWhenPushed = true
但是当我按下底部栏中的一个项目并返回主视图控制器时,底部栏消失了,当我进入新视图控制器时(通过从主视图控制器推送),底部主视图控制器中的栏消失。
【问题讨论】:
标签:
ios
swift
uiviewcontroller
【解决方案1】:
到目前为止,我可以看到您必须在第一个视图控制器的 prepareForSegue 函数中隐藏底栏。下面的代码在我这边运行良好:
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
}
}
}
}
【解决方案2】:
问题很旧,但首先在谷歌搜索中。
在界面生成器中,使用复选框“Hide Bottom Bar on Push”:
【解决方案3】:
在您推送的视图控制器中:
init() {
super.init(nibName: nil, bundle: nil)
self.hidesBottomBarWhenPushed = true
}
【解决方案4】:
由于PeiweiChen的回答对我不起作用,我想出了这个:
(必须将其放入推送的视图控制器文件中)
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.hidesBottomBarWhenPushed = true
}
PS.:这是 Swift 2.0