更改启animation面iOS 7中的状态栏文字颜色

我知道已经有一些stackoverflow的 问题 ,说如何改变所有视图控制器的状态栏。 我目前正在改变状态栏的颜色:

if(IS_IOS7) [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

application:DidFinishLaunching

另外,我已经将plist中UIViewControllerBasedStatusBarAppearance的值更改为NO。 但是,在闪屏中,它仍然显示黑色的状态栏文本。

是否可以更改闪屏中状态栏文本颜色的颜色?

在项目plist文件中添加“状态栏样式”属性(键是UIStatusBarStyle )。 然后忽略此属性的下拉列表中列出的所有可能的值,然后inputUIStatusBarStyleLightContent

你不必在你的plist中设置UIViewControllerBasedStatusBarAppearanceNO ,你可以设置你想要的视图控制器的preferredStatusBarStyle

你可以在不写任何代码的情况下做到这一点
通过整个应用程序执行以下操作使状态栏文本颜色变为白色

对你项目plist文件:

  • 状态栏样式: UIStatusBarStyleLightContent
  • 查看基于控制器的状态栏外观: NO
  • 状态栏最初是隐藏的: NO

在整个应用程序中,您可以执行以下操作来获取浅色状态栏。

  1. 在项目导航器中select项目的名称。
  2. 从项目编辑器左侧列表中select一个目标的名称。
  3. 点击项目编辑器顶部的常规。
  4. 设置状态栏样式 – >轻

在你的plist文件中添加下列值:

  1. 状态栏样式 – UIStatusBarStyleLightContent
  2. 查看基于控制器的状态栏外观 – NO

这将帮助您在整个应用程序(包括SPLASH SCREEN)中以白色显示状态栏。

在plist中将UIViewControllerBasedStatusBarAppearance设置为No

然后在完成启动选项中添加以下代码

 if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) { [application setStatusBarStyle:UIStatusBarStyleLightContent]; self.window.clipsToBounds =YES; self.window.frame = CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20); } 

请按照这个代码为我工作

在整个应用程序中,您可以执行以下操作来获取浅色状态栏。

在项目导航器中select项目的名称。 从项目编辑器左侧列表中select一个目标的名称。 点击项目编辑器顶部的常规。 设置状态栏样式 – >轻

这里是关于状态栏变化的Apple指南/说明 。

这里是 – 如何改变状态栏的风格:

如果你想设置状态栏风格,应用程序级别,然后在你的`.plist'文件中设置UIViewControllerBasedStatusBarAppearanceNO

如果你想设置状态栏的风格,在视图控制器级别,然后按照下列步骤:

  1. 如果您只需要在UIViewController级别设置状态栏样式,请将.plist文件中的UIViewControllerBasedStatusBarAppearance设置为YES
  2. 在viewDidLoad添加函数 – setNeedsStatusBarAppearanceUpdate

  3. 在视图控制器中覆盖preferredStatusBarStyle。

 override func viewDidLoad() { super.viewDidLoad() self.setNeedsStatusBarAppearanceUpdate() } override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent } 

根据状态栏风格设置级别设置.plist的值。 在这里输入图像说明

您可以在应用程序启动期间或视图控制器的viewDidLoad期间为状态栏设置背景颜色。

 extension UIApplication { var statusBarView: UIView? { return value(forKey: "statusBar") as? UIView } } // Set upon application launch, if you've application based status bar class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { UIApplication.shared.statusBarView?.backgroundColor = UIColor.red return true } } or // Set it from your view controller if you've view controller based statusbar class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() UIApplication.shared.statusBarView?.backgroundColor = UIColor.red } } 

结果如下:

在这里输入图像说明