【问题标题】: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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-08-04
            • 1970-01-01
            • 1970-01-01
            • 2011-02-26
            相关资源
            最近更新 更多