我的应用程序背景是黑色的,但在iOS 7中,状态栏变成了透明的。所以我什么也看不见,只有角落里的绿色电池指示灯。如何将状态栏文本颜色改为白色,就像在主屏幕上一样?
当前回答
如果我使用UINavigationController,我在iOS 9和Swift 2.0中做这个
self.navigationController?.navigationBar.barStyle = UIBarStyle.Black
如果我使用模态segue
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
其他回答
Xcode GM Seed的答案更新:
在信息。plist将基于视图控制器的状态栏外观设置为NO 在项目中,设置: 在ViewDidLoad: [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
您不需要编写任何代码就可以做到这一点! 做以下使状态栏文本颜色白色通过整个应用程序
在你的项目plist文件中:
状态栏样式:透明黑色样式(alpha值为0.5) 基于视图控制器的状态栏外观:NO 状态栏初始隐藏:NO
这些对我来说都没用,所以这里有一个有效的解决方案……
在信息。Plist,添加一行:
UIViewControllerBasedStatusBarAppearance,并设置值为NO。
然后在AppDelegate的didFinishLaunchingWithOptions中添加这些行:
[application setStatusBarHidden:NO];
[application setStatusBarStyle:UIStatusBarStyleLightContent];
简单地调用
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];
在
-(BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
}
我的AppDelegate的方法在iOS7中非常适合我。
删除。plist文件中基于视图控制器的状态栏外观(如果你有create)并重新创建它。 设置状态栏样式为不透明黑色样式
在appDelegate中,在didFinishLaunching下添加以下代码。
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
推荐文章
- 为什么Swift的编译时间这么慢?
- iPhone上UIView和UILabels的渐变
- 如何测试等价的Swift枚举与相关的值
- keychain上的分发证书中缺少私钥
- 在实现API时,我如何避免在块中捕获自我?
- 如何创建一个Swift Date对象?
- 在Swift中转换Float为Int
- Xcode 4在目标设备上说“finished running <my app>”——什么都没有发生
- 从另一个应用程序打开设置应用程序
- 快速提取正则表达式匹配
- 如何应用梯度的背景视图的iOS Swift应用程序
- 我如何在Swift中声明一个弱引用数组?
- 图书馆吗?静态的?动态吗?或框架?另一个项目中的项目
- 如何用SwiftUI调整图像大小?
- Xcode 6 gitignore文件应该包括什么?