我的应用程序背景是黑色的,但在iOS 7中,状态栏变成了透明的。所以我什么也看不见,只有角落里的绿色电池指示灯。如何将状态栏文本颜色改为白色,就像在主屏幕上一样?
当前回答
我认为所有的答案都不能真正指出问题,因为它们都适用于特定的场景。但如果你需要涵盖所有情况,请遵循以下几点:
根据你需要状态栏灯光样式的位置,你应该始终记住这3点:
1)如果你在启动屏幕或其他地方需要状态栏,而你无法控制它(不是在视图控制器中,而是在一些系统控制的元素/时刻,如启动屏幕) 进入项目设置
2)如果你在导航控制器中有一个控制器 你可以在接口构建器中修改它,如下所示:
a)选择导航控制器的导航栏
b)然后将导航栏的风格设置为“黑色”,因为这意味着你的状态栏下将有一个“黑色”->的黑色背景,所以它将把状态栏设置为白色
或者按照下面的代码来做
navigationController?.navigationBar.barStyle = UIBarStyle.Black
3)如果你有单独的控制器,需要有自己的状态栏风格,它不是作为UINavigationController嵌入在一些容器结构中
设置控制器的状态栏样式:
其他回答
这适用于Golden Master iOS7和Xcode 5 GM种子和2013年9月18日发布的iOS7 SDK(至少导航控制器隐藏):
中的UIViewControllerBasedStatusBarAppearance设置为NO Info.plist。 在ViewDidLoad方法或任何地方,你想改变的地方 状态栏样式: [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
extension UIApplication {
var statusBarView: UIView? {
return value(forKey: "statusBar") as? UIView
}
}
在信息。plist设置字段值NO查看基于控制器的状态栏外观,并在目标>常规设置中设置状态栏样式灯。
Xcode GM Seed的答案更新:
在信息。plist将基于视图控制器的状态栏外观设置为NO 在项目中,设置: 在ViewDidLoad: [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
我认为所有的答案都不能真正指出问题,因为它们都适用于特定的场景。但如果你需要涵盖所有情况,请遵循以下几点:
根据你需要状态栏灯光样式的位置,你应该始终记住这3点:
1)如果你在启动屏幕或其他地方需要状态栏,而你无法控制它(不是在视图控制器中,而是在一些系统控制的元素/时刻,如启动屏幕) 进入项目设置
2)如果你在导航控制器中有一个控制器 你可以在接口构建器中修改它,如下所示:
a)选择导航控制器的导航栏
b)然后将导航栏的风格设置为“黑色”,因为这意味着你的状态栏下将有一个“黑色”->的黑色背景,所以它将把状态栏设置为白色
或者按照下面的代码来做
navigationController?.navigationBar.barStyle = UIBarStyle.Black
3)如果你有单独的控制器,需要有自己的状态栏风格,它不是作为UINavigationController嵌入在一些容器结构中
设置控制器的状态栏样式:
推荐文章
- 如何删除默认的导航栏空间在SwiftUI导航视图
- Ios模拟器:如何关闭应用程序
- 如何在iOS中使用Swift编程segue
- Swift -整数转换为小时/分钟/秒
- 如何舍入一个双到最近的Int在迅速?
- 扁平化数组的数组在Swift
- Swift:声明一个空字典
- 在成功提交我的应用程序后,“太多符号文件”
- 从数组中随机选择一个元素
- 首先添加一个UIView,甚至是导航栏
- 我如何改变UIButton标题颜色?
- 在Swift中如何调用GCD主线程上的参数方法?
- NSLayoutConstraints是可动画的吗?
- iOS -构建失败,CocoaPods无法找到头文件
- CFNetwork SSLHandshake iOS 9失败