我在swift5中使用NavigationBar。NavigationBar背景颜色显示为黑色。这是我的图片

下面是我的代码:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBar.tintColor = UIColor.red
self.navigationController?.navigationBar.barTintColor = UIColor.green
self.navigationController?.navigationBar.barTintColor = .red
self.navigationItem.title = "ABC title"
self.navigationController!.navigationBar.titleTextAttributes = [NSAttributedString.Key.foregroundColor : UIColor.white]
self.navigationController?.navigationBar.isTranslucent = false
}
}我的代码有什么问题?请帮帮我
发布于 2021-11-20 09:31:56
这就是为什么在iOS 15 NavigationBars中使用scrollEdgeAppearance,如果你想使用旧的外观,你必须这样声明它:
override func viewDidLoad() {
super.viewDidLoad()
let appearance = UINavigationBarAppearance()
appearance.configureWithOpaqueBackground()
appearance.backgroundColor = .red
appearance.titleTextAttributes = [NSAttributedString.Key.foregroundColor : UIColor.white]
self.navigationController?.navigationBar.standardAppearance = appearance;
self.navigationController?.navigationBar.scrollEdgeAppearance = self.navigationController?.navigationBar.standardAppearance
self.navigationItem.title = "ABC title"
}这就是结果:

https://stackoverflow.com/questions/70043495
复制相似问题