如何在iOS中更改状态栏文本颜色

我的应用程序背景很暗,但在iOS 7中,状态栏变得透明。所以我在那里什么也看不见,只有角落里的绿色电池指示灯。如何将状态栏文本颜色更改为与主屏幕上相同的白色

  1. 在.plist文件中将UIViewControllerBasedStatusBarAppearance设置为YES

  2. viewdiload中执行[self-setNeedsStatusBarAppearanceUpdate]

  3. 添加以下方法:

    -(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())

发表评论