更改状态栏背景 [重复]

Posted

技术标签:

【中文标题】更改状态栏背景 [重复]【英文标题】:Changing status bar background [duplicate] 【发布时间】:2016-11-30 06:50:36 【问题描述】:

我希望状态栏的色调比导航栏的色调更暗?我如何在 ios 9 的 Swift 2.0 中实现这一点 附上一个例子:

我可以将状态栏文本变为白色,但不能将背景变为比导航栏更暗的色调?我需要添加一个单独的视图吗?如果是这样,怎么办,因为我无法将它放在导航栏的顶部?

【问题讨论】:

这可以帮助你,***.com/questions/26956728/… 你不理解我的问题,我已经知道如何将状态栏文本更改为浅色我需要更改与导航背景不同的背景颜色 那么您尝试过的代码是什么? 我没有尝试更改背景,因为我找不到方法,我只知道如何通过属性 inspecotr 将状态栏颜色更改为白色 对于 Xcode 8.1 :- ***.com/questions/36207499/… 【参考方案1】:

答案:

let view = UIView(frame: CGRectMake(0, 0, 500, 20))
view.backgroundColor = UIColor.redColor()
self.navigationController?.view.addSubview(view)

【讨论】:

感谢 Hodson,我找到了解决方案【参考方案2】:

您只需添加一个新的UIView 并将其设置为适当的颜色。要么给它一个框架,要么添加约束,让它位于顶部。

它的高度应该是状态栏的高度(我相信通常是 20,但您也可以通过编程方式获得它,以防它发生变化......或不存在。)

UIApplication.sharedApplication().statusBarFrame.size.height

【讨论】:

试过了,但我不能让它越过导航栏? 即使你这样设置框架:let view = UIView(frame: CGRectMake(0, 0, 500, 20)) 它仍然没有显示在导航栏上方?注意:500 如果宽度太大,你应该将它设置为实际屏幕宽度,但为了快速,我只是将它设置为一个大数字(大于屏幕宽度)。 谢谢!但是要添加如果其他人有问题,请运行: view.layer.zPosition = 100 如果没有显示可以提供帮助

以上是关于更改状态栏背景 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 7 上更改状态栏背景颜色和文本颜色?

更改状态栏背景颜色

如何更改android状态栏的背景颜色

使用 UIStatusBarManager 更改状态栏背景颜色

更改 UINavigationBar 外观背景图像时状态栏颜色更改

如何在iOS 7上更改状态栏背景颜色和文本颜色? Warif Akhand Rishi