我的应用程序背景很暗,但在iOS 7中,状态栏变得透明。所以我在那里什么也看不见,只有角落里的绿色电池指示灯。如何将状态栏文本颜色更改为与主屏幕上相同的白色
-
在.plist文件中将
UIViewControllerBasedStatusBarAppearance设置为YES -
在
viewdiload中执行[self-setNeedsStatusBarAppearanceUpdate] -
添加以下方法:
-(UIStatusBarStyle)首选状态BarStyle { 返回UIStatusBarStyleLightContent; }
注意:这不适用于UINavigationController内部的控制器,请参见下面的Tyson评论:)
Swift 3-这将在UINavigationController内的控制器中工作。在控制器中添加此代码
//在深色背景上使用的首选状态栏样式的lightContent。
//斯威夫特3
重写变量preferredStatusBarStyle:UIStatusBarStyle{
return.lightContent
}
Swift 5和SwiftUI
对于SwiftUI,创建一个名为HostingController.swift的新swift文件
导入基础
导入UIKit
导入快捷键
类HostingController:UIHostingController<;ContentView>;{
重写变量preferredStatusBarStyle:UIStatusBarStyle{
return.lightContent
}
}
然后在SceneDelegate.swift
window.rootViewController=UIHostingController(rootView:ContentView())
到
window.rootViewController=HostingController(rootView:ContentView())