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 应用程序中状态栏的自定义背景颜色