Swift UIApplication.setStatusBarStyle不起作用

时间:2014-07-08 02:53:06

标签: ios swift ios8 uistatusbar

这是我在UIViewController的子类中的实现:

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: false)
}

我尝试将其放入AppDelegate初始化代码中(使用传入的UIApplication实例),但状态栏仍为黑色..

这是iOS 8的错误还是我做错了?

注意:我可能会通过讨论ios 8来破坏某人的法律。这是一个普遍的问题,当编译时,它也不适用于ios 7.

更新:即使Info.plist和- didFinishLaunchingWithOptions中的代码有价值,仍然无法正常工作 Nope still doesn't work

2 个答案:

答案 0 :(得分:10)

你真的应该在你的视图控制器上实现preferredStatusBarStyle

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

答案 1 :(得分:9)

  1. 转到Info.plist文件
  2. 将鼠标悬停在其中一条线上以及(+)和( - ) 按钮会出现。
  3. 点击加号按钮添加新密钥输入 从大写 V 开始,第一个选择将自动查看 基于控制器的状态栏外观
  4. 将其添加为KEY。
  5. 将VALUE设为“NO”
  6. 转到AppDelegate.swift
  7. 在方法
  8. 中添加以下代码
    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:AnyObject]?) -> Bool {
        application.setStatusBarStyle(UIStatusBarStyle.LightContent, animated: false)
    
        return true
    }
    
    1. 完成!运行您的应用,状态栏现在为白色!