如何清除 swift4 中的导航栏颜色?
How to remove navigation bar colour clear in swift4?
我想清除导航栏的颜色。在我的 ViewController 中有一个背景图像,当我删除导航 barTintColor、navigationController.view.background 和导航背景图像的颜色时,模拟器会显示:-
我已经尝试了很多代码,但没有找到解决方案。
我想要这样的导航栏:-
具有清晰的导航栏颜色。
有什么解决办法吗,求教
谢谢!
最好避开导航栏。隐藏导航控制器中的导航栏和视图控制器中的用户自定义视图以避免此问题。
您可以在 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
}
背景图片和后退按钮可见
Swift 5:: 在 AppDelegate 的 didFinishLaunchingWithOptions 函数中调用下面的方法就可以了(尽管这将应用于您的所有导航栏,但不要忘记切换您的视图控制器)
let navBarAppearance = UINavigationBarAppearance()
navBarAppearance.configureWithTransparentBackground()
navigationController?.navigationBar.standardAppearance = navBarAppearance
navigationController?.navigationBar.scrollEdgeAppearance = navBarAppearance
我想清除导航栏的颜色。在我的 ViewController 中有一个背景图像,当我删除导航 barTintColor、navigationController.view.background 和导航背景图像的颜色时,模拟器会显示:-
我已经尝试了很多代码,但没有找到解决方案。
我想要这样的导航栏:-
具有清晰的导航栏颜色。 有什么解决办法吗,求教 谢谢!
最好避开导航栏。隐藏导航控制器中的导航栏和视图控制器中的用户自定义视图以避免此问题。
您可以在 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
}
背景图片和后退按钮可见
Swift 5:: 在 AppDelegate 的 didFinishLaunchingWithOptions 函数中调用下面的方法就可以了(尽管这将应用于您的所有导航栏,但不要忘记切换您的视图控制器)
let navBarAppearance = UINavigationBarAppearance()
navBarAppearance.configureWithTransparentBackground()
navigationController?.navigationBar.standardAppearance = navBarAppearance
navigationController?.navigationBar.scrollEdgeAppearance = navBarAppearance