[英]How to remove navigation bar colour clear in swift4?
您可以在导航栏上透明的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::<\/strong>在 AppDelegate 的 didFinishLaunchingWithOptions 函数中调用下面的方法可以解决问题(这将应用于您的所有导航栏,但不要忘记切换您的视图控制器)
let navBarAppearance = UINavigationBarAppearance()
navBarAppearance.configureWithTransparentBackground()
navigationController?.navigationBar.standardAppearance = navBarAppearance
navigationController?.navigationBar.scrollEdgeAppearance = navBarAppearance
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.