【问题标题】:Swift: Can't set StatusBarStyleLightContentSwift:无法设置 StatusBarStyleLightContent
【发布时间】:2015-07-15 02:10:57
【问题描述】:

这真的很奇怪,我的页面视图控制器带有入职流程,但我无法在状态栏中设置白色。

我在 info.plist 中添加了带有“UIStatusBarStyleLightContent”值的“状态栏样式”以及 AppDelegate 中的相应行

UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent

尽管做了这两个步骤,但我的状态栏一直变黑。

也许这是 Xcode 6.3 的问题?大家有遇到过这么奇怪的问题吗?如果是,如何解决?

提前致谢!

【问题讨论】:

    标签: ios swift appdelegate uistatusbar


    【解决方案1】:

    刚刚将这四行添加到我的 Info.plist 中

    <key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleLightContent</string>
    

    在那之后,我什至不需要从代码中设置任何东西。

    【讨论】:

    • 我猜这和我在 info.plist 中所做的完全一样
    • @DCDC 相当,因为如果不将 UIViewControllerBasedStatusBarAppearance 设置为 false,它将无法正常工作-
    • @DCDC 所以设置两个,而不是一个。
    【解决方案2】:

    制作 StatusBar LightContent 的完美且有效的方法。

    1) 转到 info.plist 并添加属性“查看基于控制器的状态栏外观”= NO

    2) 在您的 AppDelgate.swift 中,输入以下代码:

    application.setStatusBarStyle(UIStatusBarStyle.LightContent, animated: true)
    

    这绝对有效!如果您遇到任何问题,请尝试并告诉我。

    【讨论】:

      【解决方案3】:

      添加你的 ViewController :

      override func preferredStatusBarStyle() -> UIStatusBarStyle {
          return UIStatusBarStyle.LightContent
      }
      

      【讨论】:

      • 我应该创建新课程吗?或者我应该把这段代码粘贴到哪里?
      • 新课程。它取代了您正在使用的基本 UINavigationController。
      • 好的,然后做更多的事情,在某个地方导入这个类或者只是创建它,剩下的全部处理?
      • 如果您使用故事板,请选择其中的 navigationController,并将其分配给您的新子类。就像您将 TableViewController 分配给自定义子类一样...
      • 如果您要实例化 UINavigationController 的实例,只需将其替换为新子类的实例
      【解决方案4】:

      您需要按照以下步骤操作。

      1. 在 .plist 文件中将基于视图控制器的状态栏外观设置为 NO。

      2. UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent

      【讨论】:

        猜你喜欢
        • 2015-07-25
        • 1970-01-01
        • 2020-10-08
        • 2018-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-01
        • 1970-01-01
        相关资源
        最近更新 更多