Swift UIApplication.setStatusBarStyle不起作用
这里是我在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
仍然不起作用
你真的应该在你的视图控制器上实现preferredStatusBarStyle
:
override func preferredStatusBarStyle() -> UIStatusBarStyle { return .LightContent }
- 转到Info.plist文件
- 将鼠标hover在其中一行上,将显示(+)和( – )button。
- 点击加号button,以大写字母V开始添加新的键入types,并自动select第一个选项为基于视图控制器的状态栏外观 。
- 将其作为KEY添加。
- 将VALUE值设为“NO”
- 去你AppDelegate.swift
- 在方法中添加下面的代码
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:AnyObject]?) -> Bool { application.setStatusBarStyle(UIStatusBarStyle.LightContent, animated: false) return true }
- DONE! 运行你的应用程序,你的状态栏现在是白色!