【问题标题】:How to remove navigation bar colour clear in swift4?如何在swift4中清除导航栏颜色?
【发布时间】:2019-09-01 19:02:00
【问题描述】:
我想清除导航栏的颜色。在我的 ViewController 中有一个背景图像,当我删除导航 barTintColor、navigationController.view.background 和导航背景图像的颜色时,模拟器会显示我:-
我尝试了很多代码,但没有找到解决方案。
我想要这样的导航栏:-
带有清晰的导航栏颜色。
有什么解决办法,告诉我?
谢谢!
【问题讨论】:
标签:
ios
swift
uinavigationbar
【解决方案1】:
最好不要使用导航栏。隐藏导航控制器中的导航栏和视图控制器中的用户自定义视图以避免此问题。
【解决方案2】:
您可以在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
}
背景图片和后退按钮将可见