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

Posted

技术标签:

【中文标题】如何在 iOS 中更改状态栏文本颜色【英文标题】:How to change Status Bar text color in iOS 【发布时间】:2013-07-16 14:11:22 【问题描述】:

我的应用程序有深色背景,但在 ios 7 中,状态栏变得透明。所以我在那里什么都看不到,只有角落里的绿色电池指示灯。如何将状态栏文本颜色更改为白色,就像在主屏幕上一样?

【问题讨论】:

这个链接有关于这个问题的有趣信息:doubleencore.com/2013/09/… 看看我的 naswer 以获得更好的解决方案 ***.com/questions/17678881/… Xcode 似乎一直在改变这一点,所以我建议向下滚动以查找更新的解决方案(例如,Super simple answer as of 2021)。 【参考方案1】:

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

    viewDidLoad 中做一个[self setNeedsStatusBarAppearanceUpdate];

    添加如下方法:

    - (UIStatusBarStyle)preferredStatusBarStyle
     
        return UIStatusBarStyleLightContent; 
    
    

注意:这不适用于UINavigationController 内部的控制器,请参阅Tyson's comment below :)

Swift 3 - 这将在 UINavigationController 内工作控制器。将此代码添加到您的控制器中。

// Preferred status bar style lightContent to use on dark background.
// Swift 3
override var preferredStatusBarStyle: UIStatusBarStyle 
    return .lightContent

Swift 5 和 SwiftUI

为 SwiftUI 创建一个名为 HostingController.swift 的新 swift 文件

import Foundation
import UIKit
import SwiftUI

class HostingController: UIHostingController<ContentView> 
    override var preferredStatusBarStyle: UIStatusBarStyle 
        return .lightContent
    

然后在SceneDelegate.swift改下面几行代码

window.rootViewController = UIHostingController(rootView: ContentView())

window.rootViewController = HostingController(rootView: ContentView())

【讨论】:

我不需要第 2 步。 似乎不适用于带有 Xcode5-DP5 的 iOS 7 Beta 5。 preferredStatusBarStyle 似乎没有被调用。 UIViewControllerBasedStatusBarAppearance 更改为在 Xcode 5 GM 种子中查看基于控制器的状态栏外观 得到了 Xcode GM Seed 的答案: 1. 在 Info.plist 中将 View controller-based status bar appearance 设置为 NO 2. 在 appDelegate 中,在 appDidFinishLaunching 方法中,放入 [[UIView appearance] setTintColor:[ UIColor whiteColor]]; UINavigationController 是个特例,上面的不行。只是花了几个小时在这个问题上摸不着头脑。请参阅此处以获取解决方案:***.com/a/19513714/505457【参考方案2】:

或者,您可以选择退出基于视图控制器的状态栏外观:

    在您的Info.plist 中将View controller-based status bar appearance 设置为NO。 致电[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

注意:此方法在 iOS9 中已被弃用。在 UIViewController 上使用 preferredStatusBarStyle。 (见Apple Developer Library)

【讨论】:

这是一条更好、更容易的路线。 无需编码。这一切都可以从 plist 中完成:(1)将“基于视图控制器的状态栏外观”设置为 NO,(2)将“状态栏样式”设置为“不透明黑色样式”。 (原始值为 UIViewControllerBasedStatusBarAppearance -> NO 和 UIStatusBarStyle -> UIStatusBarStyleBlackOpaque) 请注意,您必须将相关的 info.plist 值设置为 NO 才能正常工作。 @gothicdev:不错的收获。会接受你的答案,因为它是最干净的。条形样式的灯光选项可以是:UIStatusBarStyleLightContent 此方法已在 iOS 9 中弃用。【参考方案3】:

您无需编写任何代码即可做到这一点! 执行以下操作以使整个应用程序的状态栏文本颜色为白色

你的项目plist文件:

状态栏样式:Transparent black style (alpha of 0.5) 查看基于控制器的状态栏外观:NO 状态栏最初是隐藏的:NO

【讨论】:

我不知道事情是否发生了变化,但是 XCode 无法识别 UIStatusBarStyleLightContent 值,并且在任何文档中都找不到......虽然它似乎有效。 这个也在启动画面上改变了它,而只是在导航器上设置它不会......荣誉! 绝对是完成这项工作的最简单方法,并且如上所述也适用于启动画面。 plist info 中没有任何名为 UIStatusBarStyleLightContent 的东西,但是有 Transparent Black 可以做同样的事情:) 另外,您需要添加 View controller-based status bar appearance,因为它最初不存在这就是让它工作所需要的一切:) 对于像我这样的懒人,复制过去吧:&lt;key&gt;UIStatusBarStyle&lt;/key&gt; &lt;string&gt;UIStatusBarStyleLightContent&lt;/string&gt; &lt;key&gt;UIViewControllerBasedStatusBarAppearance&lt;/key&gt; &lt;false/&gt;【参考方案4】:

注意:投票最多的答案不适用于 iOS 7 / 8

在 Info.plist 中将“查看基于控制器的状态栏外观”设置为 NO

在 AppDelegate 中添加

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
   ...
    

此解决方案适用于 iOS 7 / 8。

【讨论】:

在 iOS 9 中已弃用。:-/【参考方案5】:

对我来说,使用其他答案(以及其他来源/文档)中的所有内容都没有发生任何事情。有什么帮助是在 XIB 中将导航栏样式设置为“黑色”。这将文本更改为白色,根本没有任何代码。

【讨论】:

在设备中,上面的答案都对我有用,但这个答案。我认为它告诉了有关新系统的所有信息,您必须将 navigation_bar 设置为 BLACK 以使 status_bar 文本为 WHITE。 在经历了很多事情之后,这就是最终的工作。样式设置为默认值。改变了这一点,去掉了所有其他的状态栏黑客,它就可以工作了。 如果您不想在 IB 中设置所有导航栏,也可以设置其外观代理。 [[UINavigationBar 外观] setBarStyle:UIBarStyleBlack]; 在 iOS7 Storyboard 中对我不起作用。看起来这可能是其他东西的副作用? 我想确认一下,以上所有答案都对我不起作用。在图像之后,状态栏文本看起来是白色的。但我再重复一遍,上面的 Xcode 6.2 和 iOS 8.2 的 ANSWERS 不起作用。【参考方案6】:

这些都不适合我,所以这是一个可行的解决方案......

Info.plist,添加一行:

UIViewControllerBasedStatusBarAppearance,并设置值NO

然后在didFinishLaunchingWithOptions 的 AppDelegate 中,添加这些行:

[application setStatusBarHidden:NO];
[application setStatusBarStyle:UIStatusBarStyleLightContent];

【讨论】:

这个解决方案对我有用,而上面的那些没有。 太棒了,但是这个 UIViewControllerBasedStatusBarAppearance 转换为相同的:自动查看基于控制器的状态栏外观:)【参考方案7】:

您无需为此编写任何代码

需要在info.plist中添加“查看基于控制器的状态栏外观”键,如下:

& 将其值类型设置为 Boolean & 将值设置为 NO。 然后点击项目设置,然后点击常规选项卡&在部署信息下将首选状态栏样式设置为.Light,如下所示:

就是这样。

【讨论】:

我喜欢你的方法!就我而言,我试图弄清楚如何使状态栏样式仅在全屏时变亮(无导航栏)。然后,我意识到所有其他屏幕都应该适合相同的灯光样式。所以一个好的解决方案是为整个事情设置。谢谢! (: 如果您在应用运行时不需要更改此设置。这是最好的方法。 这种方法确实有效,但它在 iPad 上引入了一个奇怪的问题。如果您的应用程序支持深度链接,并且当您通过深度链接启动应用程序时,状态栏上显示的反向链接就会消失。 最好最简单的一个。 对我来说最好的解决方案:D【参考方案8】:

只需两步:

第 1 步:

project target 的信息选项卡下,添加行:

UIViewControllerBasedStatusBarAppearance,设置值NO

第 2 步:

项目中AppDelegate.m

- (BOOL)application:(UIApplication *)application 
        didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    …
    [application setStatusBarStyle:UIStatusBarStyleLightContent];
    …

【讨论】:

我喜欢这个答案,因为这是我第一次使用“应用程序”参数)) 点符号,这将是完美的;)【参考方案9】:

这适用于 2013 年 9 月 18 日发布的 Golden Master iOS 7 和 Xcode 5 GM 种子和 iOS7 SDK(至少隐藏导航控制器):

    the UIViewControllerBasedStatusBarAppearance 设置为NO Info.plist.

    ViewDidLoad方法或任何地方,你想在哪里改变 状态栏样式: [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

【讨论】:

UIViewControllerBasedStatusBarAppearance 默认值似乎是 YES。 “应用程序默认使用新的基于视图控制器的状态栏管理系统。要选择退出,请将 UIViewControllerBasedStatusBarAppearance 键的值 NO 添加到 Info.plist。” [bgr.com/2013/09/10/ios-7-gm-change-log-release-notes/] 耶!!将 UIViewControllerBasedStatusBarAppearance 设置为 NO 后,状态栏隐藏在视图中。 应该应用于所有的viewdidload吗? 您可以在 appDelegates didFinishLoading 方法中添加它。或者如果你不想改变它,可以在第一个视图中查看 viewDidLoad 方法。 太棒了,这个成功了。简单而出色的编码。【参考方案10】:

如果你的 UIViewController 在 UINavigationController 中,你必须设置 BarStyle:

-[UINavigationBar setBarStyle:UIBarStyleBlack]

原答案在这里

https://devforums.apple.com/message/844264#844264

【讨论】:

不,这只是使导航栏颜色与状态栏文本颜色相同。这隐藏了问题,而不是解决它! 在 iOS7 中,如果视图包含 UINavigationController,状态栏会模仿 UINavigationBar,所以在很多情况下,这是正确的答案。【参考方案11】:

如果您有通过Interface Builder 创建的嵌入式导航控制器,请务必在管理您的导航控制器的类中设置以下内容:

-(UIStatusBarStyle)preferredStatusBarStyle 
    return UIStatusBarStyleLightContent; 
 

这应该就是你所需要的。

【讨论】:

这是在没有情节提要和 xib 的应用程序中对我有用的唯一解决方案。对非 IB 用户也应该有帮助。 当我需要在每个视图控制器中设置不同的样式时,这对我来说是完美的 如果你想保留“基于视图控制器的状态栏外观”设置为是,这是要走的路。谢谢!【参考方案12】:

我在 Swift 项目中使用 Xcode 6 beta 5,用于 iOS 7 应用程序。

这是我所做的,并且有效:

info.plist:

【讨论】:

谢谢,看来只有您的解决方案才能使用最新版本的 IOS7 此解决方案在加载应用时在启动屏幕中显示状态栏。 解决了我在 xCode 7.1 中的问题。最新版本。苹果忘记了一些重要的部分来使某些东西发挥作用。再次。【参考方案13】:

    转到Project -> Target,

    然后将Status Bar Style 设置为Light。它使启动屏幕上的状态栏变为白色。

    然后在Info.plist中设置View controller-based status bar appearance等于NO

【讨论】:

将实际的View controller-based status bar appearance equal 设置为NO 的第二部分是我缺少的部分。谢谢 完美,在我看来应该是最正确的答案。谢谢【参考方案14】:

在 AppDelegate.m 中,添加以下内容。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

 

并在 Plist 文件中,将“基于控制器的状态栏外观”设置为 NO。

【讨论】:

【参考方案15】:

在 Swift 3 中非常简单,只需 2 个步骤。 转到您的 info.plist 并将密钥 View controller-based status bar appearance 更改为“NO”。 然后在 Appdelegate 中在 didfinishlaunchingwithoptions 方法中添加这一行

  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool 
        // Override point for customization after application launch.
        UIApplication.shared.statusBarStyle = .lightContent
        return true
    

这在 iOS9 中已被弃用,现在您应该在 rootviewcontroller 中覆盖此属性

在 iOS 9 中不推荐这样做,应该在 rootviewcontroller 上这样做

override var preferredStatusBarStyle: UIStatusBarStyle 
        return .lightContent
 

【讨论】:

这真是太棒了兄弟 :) 谢谢。 这样做在 iOS 9 中已被弃用,应该在 rootviewcontroller 上执行此操作 override var preferredStatusBarStyle: UIStatusBarStyle return .lightContent 【参考方案16】:

只需在应用程序代理中:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

Swift 5 中,按照以下步骤操作:

    在 Info.plist 中添加键 UIViewControllerBasedStatusBarAppearance 并将值设置为 false 添加键UIStatusBarStyle并将值设置为UIStatusBarStyleLightContent

【讨论】:

唯一对我有用的答案。 但是为此我们需要选择退出查看基于控制器的状态栏外观 在 iOS9 中已弃用【参考方案17】:

嗯,这对我来说真的是小菜一碟。

转到您应用的info.plist

    View controller-based status bar appearance 设置为NOStatus bar style 设置为UIStatusBarStyleLightContent

然后转到您的应用程序的委托并粘贴以下代码,您可以在其中设置 Windows 的 RootViewController。

#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))

    UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0,320, 20)];
    view.backgroundColor=[UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:1.0];
    [self.window.rootViewController.view addSubview:view];

宾果游戏。它对我有用。

【讨论】:

我认为这是正确的答案(plist 的一部分)...为什么我要在 didfinishlaunchingwithoptions 上添加静态代码...如果您需要整个应用程序的颜色相同,这是正确的方法【参考方案18】:

iOS 7 允许各个视图控制器确定状态栏的外观,如 Apple 开发人员文档所述:

iOS 7 让视图控制器能够在应用运行时调整状态栏的样式。动态更改状态栏样式的一个好方法是实现preferredStatusBarStyle,并在动画块中更新状态栏外观并调用setNeedsStatusBarAppearanceUpdate

全局设置状态栏外观分为两步。

首先,您需要告诉 iOS 您不想在逐个视图的基础上设置状态栏外观。

然后你需要负责并实际设置新的全局状态栏样式。

要禁用逐视图状态栏控制,您需要在Info.plist 中设置View controller-based status bar appearance 属性。

打开 Project Navigator 并为您的 iOS 应用选择项目,然后选择 Info 选项卡。

将鼠标悬停在一行上,然后点击出现的加号,将新属性添加到您的.plist

在 Key 字段中输入 View controller-based status bar appearance,然后确保 Type 字段设置为 Boolean。最后,在 Value 字段中输入NO

要为状态栏设置全局样式,请在“信息”选项卡下添加另一个属性,其键为Status bar style,类型为String,值为Opaque black style

这是一篇包含更多细节和一些示例代码的博文:

http://codebleep.com/setting-the-status-bar-text-color-in-ios-7/

【讨论】:

谢谢。我的问题是我没有看到“基于视图控制器的状态栏外观”的类型设置为字符串。 “手动”编辑 .plist 文件并输入布尔值清除了一切。【参考方案19】:

为 Xcode GM Seed 更新了答案:

    Info.plist 中将View controller-based status bar appearance 设置为NO

    在项目中,设置:

    在 ViewDidLoad 中:

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

【讨论】:

这改变了标签栏,而不是我的状态栏。【参考方案20】:

不需要做额外的,只需在你的viewController中写下这段代码,让状态栏颜色变白

- (UIStatusBarStyle)preferredStatusBarStylereturn UIStatusBarStyleLightContent;

【讨论】:

实现后放到ViewController.m下。它最简单,效果很好!谢谢你莫希特!【参考方案21】:

我认为所有答案都不能真正指出问题所在,因为它们都适用于特定场景。但是,如果您需要涵盖所有情况,请遵循以下几点:

根据您需要状态栏灯样式的位置,您应该始终牢记以下 3 点:

1)如果您需要在启动屏幕或其他您无法控制的位置(不是在视图控制器中,而是在一些系统控制的元素/时刻,如启动屏幕)中使用状态栏强> 你去你的项目设置

2) 如果您在导航控制器中有控制器 您可以在界面生成器中进行如下更改:

a) 选择导航控制器的导航栏

b) 然后将导航栏的样式设置为“黑色”,因为这意味着您的状态栏下方会有一个“黑色”-> 深色背景,因此会将状态栏设置为白色

或者在代码中做如下

navigationController?.navigationBar.barStyle = UIBarStyle.Black

3) 如果您只有控制器需要拥有自己的状态栏样式,并且它没有作为 UINavigationController 嵌入到某些容器结构中

在代码中为控制器设置状态栏样式:

【讨论】:

请解释一下您的情况,我会尽力提供帮助 我必须将 StatusBarIsIntiallyHidden = NO 添加到 plist 以及 ViewControllerBasedApplicationStatusBarAppearnce = NO 添加到 plist。然后这可以使用第一部分 您是否有一个与第一个加载视图控制器具有相同“图像”的启动画面?此外,在目标的“信息”部分,您可以尝试将“隐藏状态栏”设置为 false 并避免处理您的 .plist。 “StatusBarIsIntiallyHidden”标志 我没有。它正在使用生成的默认 xib。 我在 xCode 7.1 中创建一个新项目时实际上发现了这个问题,这就是为什么我觉得它很奇怪【参考方案22】:

这里是Apple Guidelines/Instruction,关于状态栏的变化。状态栏中只允许使用深色和浅色(白色和黑色)。

这里是 - 如何更改状态栏样式:

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

如果您想设置状态栏样式,请在视图控制器级别执行以下步骤:

    如果您只需要在 UIViewController 级别设置状态栏样式,请在 .plist 文件中将 UIViewControllerBasedStatusBarAppearance 设置为 YES

    在viewDidLoad添加函数-setNeedsStatusBarAppearanceUpdate

    在您的视图控制器中覆盖 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
    


结果如下:

【讨论】:

【参考方案23】:

Xcode 似乎不断地改变这一点,所以这是最新的。

截至 2021 年 - Swift 5、Xcode 12

要将状态栏更改为白色:

    打开您的 Info.plist。 添加键UIViewControllerBasedStatusBarAppearance 并将值设置为No (false)。人类可读的版本是"View controller-based status bar appearance"。 添加键UIStatusBarStyle并将值设置为UIStatusBarStyleLightContent(即"Light Content")。

【讨论】:

这对我有用,也是最容易理解的。【参考方案24】:

简单调用

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];

-(BOOL)application:(UIApplication *)application 
           didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

AppDelegate 的方法在 iOS7 中非常适合我。

【讨论】:

哇,这里有很多废话,但这个答案对我有用。我正在使用 Xcode 6 和 iOS 8 SDK 优秀,在 iOS 9 中使用 View controller-based status bar appearance = NO 为我工作【参考方案25】:

这在iOS 7 UI Transition Guide 中有记录,您需要 Apple 开发者 ID 才能直接访问。相关摘录:

因为状态栏是透明的,所以它后面的视图是透出来的。 [...] 使用 UIStatusBarStyle 常量来指定状态栏内容是深色还是浅色:

UIStatusBarStyleDefault 显示深色内容。 [...]

UIStatusBarStyleLightContent 显示轻量级内容。当状态栏后面有深色内容时使用。

也可能感兴趣:

在 iOS 7 中,您可以从单个 vew 控制器控制状态栏的样式,并在应用运行时更改它。要选择启用此行为,请将 UIViewControllerBasedStatusBarAppearance 键添加到应用程序的 Info.plist 文件并为其指定值 YES

我绝对建议您查看文档,同样,您可以使用您的 Apple 开发者 ID 访问该文档。

【讨论】:

我已经尝试过 [应用程序 setStatusBarStyle:UIStatusBarStyleLightContent];但实际上没有任何变化,文字颜色仍然是黑色 我很想得到更多帮助,但就像我说的,我对 iOS 开发过程还不够熟悉,不知道有什么建议。对不起! 1) 在 plist 中将 UIViewControllerBasedStatusBarAppearance 设置为 YES 2) 在 vi​​ewDidLoad 中执行 [self setNeedsStatusBarAppearanceUpdate]; 3) 添加如下方法:-(UIStatusBarStyle)preferredStatusBarStyle return UIStatusBarStyleLightContent; 【参考方案26】:

对于 Swift 5,我添加了以下几行:

override func viewDidAppear(_ animated: Bool) 
    navigationController?.navigationBar.barStyle = .black


override var preferredStatusBarStyle: UIStatusBarStyle 
    return .lightContent

【讨论】:

preferredStatusBarStyle 没有做任何事情。 .black 可以进入 viewDidLoad 就好了。【参考方案27】:

我做了一些不同的事情,它对我有用。

在没有更改代码的情况下,我确实像这样配置了我的 .plist 文件:

查看基于控制器的状态栏外观 > 否 状态栏样式> UIStatusBarStyleLightContent(简单字符串)

希望对你有帮助。

编辑

对于每个视图控制器,我将情节提要中“状态栏”的模拟指标属性从“推断”更改为“轻量内容”

【讨论】:

【参考方案28】:

在 info.plist 中设置字段值 NO 查看基于控制器的状态栏外观并在目标>常规设置中设置 statusbar 样式灯。

【讨论】:

优胜者鸡肉晚餐【参考方案29】:

如果您想使用 Swift 获得相同的结果,可以在 AppDelegate.swift 文件中使用此代码:

UINavigationBar.appearance().barStyle = .BlackTranslucent

你的状态栏的文本会是白色的:-) !

【讨论】:

【参考方案30】:

总结一下,编辑你的项目Info.plist并添加:

View controller-based status bar appearance : NO

Status bar style : Opaque black style

或者如果你有原始的键/值列表

UIViewControllerBasedStatusBarAppearance : NO

UIStatusBarStyle : Opaque black style

【讨论】:

这对我有用,而且比使用 preferredStatusBarStyle 更轻松,因为您可以全局配置它(当然,这只对您的情况有用)

以上是关于如何在 iOS 中更改状态栏文本颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在iOS 7上更改状态栏背景颜色和文本颜色? Warif Akhand Rishi

如何在 Ios 上更改状态栏文本颜色

Flutter:不使用AppBar时如何在Android和iOS上更改状态栏文本颜色[重复]

Swift:更改 iOS 13 的状态栏颜色

(iOS 9 及以下)如何在用户交互期间指定标签栏项目文本颜色(选中状态和正常状态)

在iOS 7中隐藏导航栏时,如何更改状态栏的颜色?