【问题标题】:iOS15 UINavigationBarAppearance hide battery / time icons (UIStatusBarStyle)iOS15 UINavigationBarAppearance 隐藏电池/时间图标(UIStatusBarStyle)
【发布时间】:2021-10-16 18:36:56
【问题描述】:

在 iOS15 上我无法再设置为黑色

UINavigationBar.appearance().tintColor = .white
UINavigationBar.appearance().barTintColor = UIColor(hexString: "#000000")
UINavigationBar.appearance().barStyle = UIBarStyle.black

我已经通过更改解决了这个问题

let appearance = UINavigationBarAppearance()
appearance.configureWithTransparentBackground()
appearance.backgroundColor = .black
appearance.titleTextAttributes = [.foregroundColor: UIColor.white]
appearance.largeTitleTextAttributes = [.foregroundColor: UIColor.white]

UINavigationBar.appearance().standardAppearance = appearance;
UINavigationBar.appearance().scrollEdgeAppearance = UINavigationBar.appearance().standardAppearance;

但现在我遇到了缺少电池/时钟图标的问题

【问题讨论】:

  • 这个可能会有所帮助:stackoverflow.com/a/68600926/14733292
  • 嗨 Raja,设置 UIViewControllerBasedStatusBarAppearance 为 false 的选项并为我工作的所有视图控制器设置 UIStatusBarStyle。如果您将其写为答案,我会将其标记为修复。谢谢

标签: swift uinavigationbar uistatusbar ios15


【解决方案1】:

info.plist更改状态栏样式

1:将UIViewControllerBasedStatusBarAppearance设置为false

<key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>

2:添加状态栏样式键,设置类似Light Content的样式

<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>

【讨论】:

    【解决方案2】:

    在您的 UINavigationController 中覆盖 preferredStatusBarStyle 并返回 .lightContent

    class MyNavigationController: UINavigationController {
        override var preferredStatusBarStyle: UIStatusBarStyle {
            return .lightContent
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多