导航栏下的黑色视图

时间:2017-04-26 18:03:32

标签: swift uiview uiviewcontroller uinavigationcontroller

在我的应用程序中,我有两个嵌入在导航控制器中的视图控制器(比如viewControllerA和viewControllerB)。在rootviewcontroller中我不想显示导航栏,所以在viewWillAppearviewWillDisappear中我添加了这些行:

override func viewWillAppear(_ animated: Bool) {
        self.navigationController?.setNavigationBarHidden(true, animated: false)
    }

override func viewWillDisappear(_ animated: Bool) {
            self.navigationController?.setNavigationBarHidden(false, animated: false)
        }

现在来自viewcontrollerB,当在导航栏下输入后退按钮时(当它开始消失时),会出现黑色视图。如何删除黑色视图?

P.S。我已将导航栏isTranslucent设置为false,但它无法解决问题。在我的项目中,我不使用故事板。

1 个答案:

答案 0 :(得分:3)

  

以下基于问题所有者测试项目的答案。

在隐藏和取消隐藏导致黑色视图出现的导航栏时,从测试项目中禁用了navigationController转换(视图到视图)动画。

override func viewWillAppear(_ animated: Bool) {
    self.navigationController?.setNavigationBarHidden(true, animated: true) // set to true
}

override func viewWillDisappear(_ animated: Bool) {
    self.navigationController?.setNavigationBarHidden(false, animated: true) //set to true
}