【问题标题】:How do you change the colour of the status bar with a button?如何用按钮更改状态栏的颜色?
【发布时间】:2017-06-26 10:25:37
【问题描述】:

我正在尝试实现一个按钮,该按钮将我的应用程序的背景从白色更改为黑色以及状态栏的颜色。现在我有

@IBAction func buttonTapped(_ sender: Any) {
        self.view.backgroundColor = UIColor.black
        UIApplication.shared.statusBarStyle = .lightContent
}

这似乎不起作用。有谁知道在不重新加载整个视图的情况下更改状态栏字体颜色的方法?

【问题讨论】:

  • @ESchlotter 将此添加到项目的 info.plist UIViewControllerBasedStatusBarAppearance
  • 成功了,爱你
  • :) 你可以点赞这个评论

标签: ios swift xcode statusbar uistatusbar


【解决方案1】:

如果您想设置状态栏样式、应用程序级别,请在您的.plist 文件中将UIViewControllerBasedStatusBarAppearance 设置为NO

如果您想设置状态栏样式,请在视图控制器级别执行以下步骤:

  1. 如果您只需要在 UIViewController 级别设置状态栏样式,请在 .plist 文件中将 UIViewControllerBasedStatusBarAppearance 设置为 YES
  2. 在viewDidLoad添加函数-setNeedsStatusBarAppearanceUpdate

  3. 在您的视图控制器中覆盖 preferredStatusBarStyle。

-

override func viewDidLoad() {
    super.viewDidLoad()
    self.setNeedsStatusBarAppearanceUpdate()
}

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

根据状态栏样式设置级别设置 .plist 的值。

【讨论】:

    猜你喜欢
    • 2014-03-06
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多