【问题标题】:How to change background color of UIStatusBar when using a UINavigationController in Xcode?在 Xcode 中使用 UINavigationController 时如何更改 UIStatusBar 的背景颜色?
【发布时间】:2014-12-11 00:25:13
【问题描述】:

在我的项目中,我集成了 SWRevealViewController,当我设置它时,我注意到我的一个视图控制器 - 由 UINavigationController 管理 - 有一个黑色的状态栏,即使视图控制器的背景颜色是白色.如何将状态栏颜色改回白色? (以编程方式或在 Interface Builder 中)

【问题讨论】:

    标签: ios xcode uinavigationcontroller statusbar swrevealviewcontroller


    【解决方案1】:

    如果状态栏下方是导航栏,则会调整状态栏样式以匹配导航栏样式(UINavigationBar.barStyle):

    具体来说,如果导航栏样式为UIBarStyleDefault,则状态栏样式为UIStatusBarStyleDefault;如果导航栏样式为UIBarStyleBlack,则状态栏样式为UIStatusBarStyleLightContent

    所以在你的情况下,状态栏是黑色的, 如果你想在 UINavigationController 上使用UIStatusBarStyleLightContent

       self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
    

    也可以参考:preferredStatusBarStyle isn't called

    【讨论】:

    • 我认为他的意思是状态栏图标下的背景颜色,而不是状态栏图标的颜色,例如他不想将电池图标的颜色从回更改为白色也许他想将其保留为黑色,但将背景更改为蓝色,例如,这就是我从他的标题和问题中理解的。
    猜你喜欢
    • 2014-07-15
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多