如何在SWIFT4中清除导航栏颜色清晰?

人气:838 发布:2022-10-16 标签: ios swift uinavigationbar

问题描述

我要清除导航栏的颜色。在我的ViewController中有一个背景图像,当我删除导航栏的颜色TintColor、navgationController.view.back和导航背景图像时,模拟器会显示:-

我已经尝试了很多代码,但没有找到解决方案。 我想要那样的导航栏:-

具有清晰的导航栏颜色。 有什么解决办法吗,告诉我? 谢谢!

推荐答案

您可以在viewWillAppear中使导航栏透明,在viewWillDisappear中删除透明度,如下所示

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
    self.navigationController?.navigationBar.shadowImage = UIImage()
    self.navigationController?.navigationBar.isTranslucent = true
}
override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    self.navigationController?.navigationBar.setBackgroundImage(nil, for: .default)
    self.navigationController?.navigationBar.shadowImage = nil
    self.navigationController?.navigationBar.isTranslucent = false
}

背景图像和后退按钮将可见

276