Ios Swift UIApplication.setStatusBarStyle不';行不通
下面是我在Ios Swift UIApplication.setStatusBarStyle不';行不通,ios,swift,ios8,uistatusbar,Ios,Swift,Ios8,Uistatusbar,下面是我在UIViewController子类中的实现: override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: false) } 我尝试将其放入AppDelegate初始化代码中(使用传入的UI
UIViewController
子类中的实现:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: false)
}
我尝试将其放入AppDelegate初始化代码中(使用传入的UIApplication实例),但状态栏仍然为黑色
这是iOS 8的bug还是我做错了
注意:我讨论ios 8可能违反了某人的法律。。这是一个普遍的问题,当编译时,iOS7也不能工作
更新:即使Info.plist中有值,而中有代码,仍然不起作用-didfishlaunchingwithoptions
您确实应该在视图控制器上实现
preferredStatusBarStyle
:
在设置(
info.plist
)中添加查看基于控制器的状态栏外观
,并将其设置为false
@JackWu添加到info.plist
,但设置后没有目标,请尝试调用UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent,动画:false)
在应用程序代理的ApplicationIDLoad
中。它应该可以工作…@JackWu-Hmmmmm,仍然不能工作:/@drewag我不想隐藏状态栏,但将其颜色从暗->亮-
好。不过,我是通过这些评论才弄明白的。这两个答案都是正确的(当前接受的答案+此答案)。UIApplication的“setStatusBarStyle”方法在iOS 9中已被弃用。覆盖“preferredStatusBarStyle”似乎是更改状态栏文本颜色的首选方法。
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:AnyObject]?) -> Bool {
application.setStatusBarStyle(UIStatusBarStyle.LightContent, animated: false)
return true
}