与许多 iOS 开发人员一样,我在 iOS 13 更新方面遇到了一些问题。其中之一是状态栏样式的不同管理
在 iOS 12 上,我曾经像这样设置导航栏样式
self.navigationController?.navigationBar.barStyle = .black
Run Code Online (Sandbox Code Playgroud)
影响状态栏样式,设置为白色(因为导航栏样式为黑色);但它似乎不适用于 iOS 13,我想它需要处理
UINavigationBarAppearance()
Run Code Online (Sandbox Code Playgroud)
班级
我为每个 ViewController 配置了我的导航栏,如下所示:
if #available(iOS 13.0, *) {
let navBarAppearance = UINavigationBarAppearance()
navBarAppearance.configureWithOpaqueBackground()
navBarAppearance.accessibilityTextualContext = .sourceCode
navBarAppearance.titleTextAttributes = [.foregroundColor: UIColor.white]
navBarAppearance.largeTitleTextAttributes = [.foregroundColor: UIColor.white]
navBarAppearance.backgroundColor = .brownCircles
navBarAppearance.shadowImage = nil // remove navigationBar Bottom border
navBarAppearance.shadowColor = nil // remove navigationBar Bottom border
self.navigationController?.navigationBar.standardAppearance = navBarAppearance
self.navigationController?.navigationBar.compactAppearance = navBarAppearance
self.navigationController?.navigationBar.scrollEdgeAppearance = navBarAppearance
} else {
self.navigationController?.navigationBar.barTintColor = .blue
self.navigationItem.title = NSLocalizedString(kTitle, comment: …
Run Code Online (Sandbox Code Playgroud)