我正在尝试将我的Swift应用程序中的状态栏颜色更改为白色,但遇到了麻烦。我在一个NavigationController中嵌入了3个ViewControllers (这是问题所在吗?我已经尝试将代码放在NavigationController类中。)我已经在我的AppDelegate.swift文件的didFinishLaunchingWithOptions中尝试了以下两段代码,但都不起作用。
application.statusBarStyle = .LightContent
和
UIApplication.sharedApplication().statusBarStyle = .LightContent
博士们所要说的就是UIBarButtonStyle是一个Int,它给了我这个枚举代码片段,这对我的实现一点帮助都没有。
enum UIStatusBarStyle : Int {
case Default
case LightContent
case BlackOpaque
}
我遗漏了什么?
发布于 2015-09-25 17:44:28
您必须设置:
navigationController.navigationBar.barStyle = .black
文本将显示为白色
发布于 2015-09-28 11:47:46
对于iOS9.x和Xcode7,只需将以下代码放入AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
UINavigationBar.appearance().barStyle = .Black
}
对于UINavigationController中的所有视图控制器,这会自动将状态栏的样式转换为.Lightcontent
。
(另外,从Info.plist中删除View controller-based status bar appearance
,以取消您可能也看到的警告!)
发布于 2016-09-17 23:44:57
在Swift 3中,状态栏样式已更改为UIViewController中的计算属性,您可以按如下方式覆盖该属性:
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent //or default
}
https://stackoverflow.com/questions/24235401
复制相似问题