快速设置状态栏的自定义颜色?

Posted

技术标签:

【中文标题】快速设置状态栏的自定义颜色?【英文标题】:set custom color of status bar in swift? 【发布时间】:2018-04-20 16:58:05 【问题描述】:

在视图控制器上,我想将状态栏的颜色设置为黑色,但我无法更改它。为此,我正在使用以下代码。

 func setUpUI() 
        self.navigationController?.setNavigationBarHidden(true, animated: false)
        UIApplication.shared.statusBarStyle = UIStatusBarStyle.default
    

我还在 info.plist 中添加了值

【问题讨论】:

不能设置颜色。但是,您可以做两件事 - 将图像放在其后面和/或设置 “样式”(或找到亮或暗。(当然,您可以隐藏它并通过这样做创建您自己的状态栏 - 我不建议这样做。) Change Status Bar Background Color in Swift 3的可能重复 【参考方案1】:

你只需覆盖状态栏的返回值,像这样:

override var preferredStatusBarStyle: UIStatusBarStyle 
   return .lightContent

【讨论】:

你也可以使用函数setNeedsStatusBarAppearanceUpdate(),当你想改变状态栏颜色的时候调用它。【参考方案2】:
Use below code for swift 4 and Xcode 9.2.

1) 在

info.plist设置

查看基于控制器的状态栏外观

没有

2) 在

AppDelegate

didFinishLaunchingWithOptions

设置在代码下方

let statusBar: UIView = UIApplication.shared.value(forKey: "statusBar") as! UIView
    if statusBar.responds(to:#selector(setter: UIView.backgroundColor)) 
        statusBar.backgroundColor = UIColor.red
    
    UIApplication.shared.statusBarStyle = .lightContent

【讨论】:

以上是关于快速设置状态栏的自定义颜色?的主要内容,如果未能解决你的问题,请参考以下文章

快速设置重置我的自定义按钮的状态

我的导航栏的自定义 UIColor

UIStatusBar iOS上状态栏的自定义颜色

iOS之 状态栏字体颜色的设置

iOS 设置状态栏的背景颜色

Android设置状态栏颜色和状态栏文字、图标颜色