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

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

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

【问题讨论】:

  • 你不理解我的问题,我已经知道如何将状态栏文本更改为浅色我需要更改与导航背景不同的背景颜色
  • 那么您尝试过的代码是什么?
  • 我没有尝试更改背景,因为我找不到方法,我只知道如何通过属性 inspecotr 将状态栏颜色更改为白色

标签: ios swift xcode statusbar uicolor


【解决方案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 如果没有显示可以提供帮助
猜你喜欢
  • 2015-09-26
  • 2019-11-20
  • 2016-10-16
  • 1970-01-01
  • 2015-10-09
  • 1970-01-01
  • 2019-11-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多