在显示其他所有内容之前,如何在另一个控

时间:2015-09-12 19:47:22

标签: swift swift2

我有一个简单的点击栏示例。对于我的下一个视图,我有一个带有tableView的ViewController和底部的textInput。当我想隐藏自来水吧我有一个代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject? {
    if segue.identifier == "showMe" {
        (segue.destinationViewController as! MyViewController)
            destinationController.hidesBottomBarWhenPushed = true
    }
}

并且在我的下一个视图中,当我在tableView上点击一行时,我看到第一个渲染点击栏然后点击栏被隐藏,并且在最后一个输入上编辑下来:(如何在显示下一个屏幕之前隐藏此点击栏?

enter image description here

1 个答案:

答案 0 :(得分:1)

这不是最佳解决方案,但它是一种解决方法:

  1. 设置destinationController.hidesBottomBarWhenPushed = false
  2. 在视图控制器中正确设置约束(就像没有标签栏一样)
  3. 在要隐藏标签栏的视图控制器中使用以下代码(如图所示):

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    
        self.tabBarController?.tabBar.frame = CGRectZero
        self.tabBarController?.tabBar.userInteractionEnabled = false
    }
    
  4. 这将确保隐藏标签栏。现在,Autolayout约束将确保您的视图正确显示,标签栏高度为零。