swift xcode更改状态栏(背景颜色)

Posted

技术标签:

【中文标题】swift xcode更改状态栏(背景颜色)【英文标题】:swift xcode change status bar (background color) 【发布时间】:2015-10-09 01:18:35 【问题描述】:

在一个视图中,我使用以下方法隐藏导航栏:

override func viewWillAppear(animated: Bool) 
    super.viewWillAppear(animated)
    self.navigationController?.navigationBarHidden = true
    

这使状态栏背景颜色显示为白色。 但是如何改变状态栏的背景颜色呢?

【问题讨论】:

我认为您应该更改视图或根窗口的背景颜色,因为我怀疑您的状态栏是透明的。 @ozgur 我的状态栏是红色的,带有白色文本,或者以前是。但是根视图有红色背景和白色文本 @ozgur 如果我将 viewcontrollers 根视图的背景颜色设置为例如红色。看起来不错。但由于我有一个滚动视图,然后滚动到底部,它也会在底部显示红色背景色。当您滚动到末尾并继续拖动时,弹跳效果将显示为红色 状态栏不再有背景颜色了...是吗? 状态栏只能有两种样式,默认(黑色)和浅色内容。 - rshankar.com/how-to-customize-status-bar-in-ios 【参考方案1】:

状态栏可以有浅色和深色

 UIApplication.sharedApplication().setStatusBarStyle(.LightContent, animated: true)

(或)

  UIApplication.sharedApplication().setStatusBarStyle(.Default, animated: true)

【讨论】:

这只会使文本/背景变为白色或黑色。我想将状态栏的背景颜色设置为红色【参考方案2】:

您可以通过在 info.plist 中设置“状态栏样式”键来更改状态栏样式。

状态栏有以下三种不同的样式:- 状态栏样式 - 字符串

    灰色样式(默认) 透明黑色样式(alpha 为 0.5) 不透明的黑色风格

您还可以通过更改 info.plist 中的以下键,将所有视图控制器的设置更改为基于视图控制器的状态栏:-

查看基于控制器的状态栏外观 - 布尔值

    是的 没有

【讨论】:

以上是关于swift xcode更改状态栏(背景颜色)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用swift3增加导航栏的高度并更改xcode 8中状态栏的颜色?

使用 Xcode 和 Swift 创建的 iOS 应用程序中状态栏的自定义背景颜色

swift 状态栏背景颜色在swift 4中

Swift - 状态栏颜色显示(字体背景)

如何在 Swift 中更改 TabBar 的颜色?图像作为导航栏中的背景?

更改状态栏背景颜色