【问题标题】:Adding white status bar添加白色状态栏
【发布时间】:2016-11-08 18:46:05
【问题描述】:

我正在尝试像这样向我的 ViewController 添加一个白色状态栏:

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

但它在大多数视图中不起作用(它在某些视图中起作用)

知道如何让它工作吗?

谢谢!

【问题讨论】:

  • 是否有一种模式不适用于哪些视图?我发现要为导航控制器或标签栏控制器更改它,您必须对其进行子类化并将代码添加到子类中。
  • @chickenparm 是的,它是关于导航控制器的。所以我必须继承它才能改变状态栏的颜色?!
  • 我刚刚用我建议的解决方案添加了一个答案。

标签: ios iphone swift cocoa-touch ios10


【解决方案1】:

子类 UINavigationController 如下。然后在界面生成器中将导航控制器的类设置为“MyNavigationController.

class MyNavigationController: UINavigationController {
  override func preferredStatusBarStyle() -> UIStatusBarStyle {
  return .LightContent
  }
}

【讨论】:

    【解决方案2】:

    要设置白色状态栏,请执行以下步骤:

    1. 在 info.plist 中添加新键“状态栏样式”
    2. 在 info.plist 中将状态栏样式值设置为“UIStatusBarStyleLightContent”。

    请参阅下面的屏幕截图:

    1.选择项目目标。

    2.转到信息选项卡。

    3.新增key“状态栏样式”

    4.设置状态栏样式值为“UIStatusBarStyleLightContent”。

    请参阅下面的屏幕截图:

    【讨论】:

    • @FS.O6 您是否正确添加了项目 info.plist,因为我是在发布答案之前创建的并且它对我有用。
    • @FS.O6 我已经更新了答案检查它。如果您按照上述步骤操作,则无需编写单行代码。 (这是我在 xcode 7.3.1 中完成的)
    • @FS.O6 VCs 里面的导航控制器是什么意思?
    猜你喜欢
    • 2018-07-15
    • 1970-01-01
    • 2017-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    • 2021-09-25
    相关资源
    最近更新 更多