首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIStatusBar风格与UINavigationBar相一致

UIStatusBar风格与UINavigationBar相一致
EN

Stack Overflow用户
提问于 2017-12-26 15:41:30
回答 1查看 790关注 0票数 1

为了研究UINavigationBarUIStatusBar的UI,我将导航条样式更改为黑色,不检查条形可见性,即显示导航条,但UIStatusBar样式没有更改为lightContent

看起来,如果我们隐藏导航栏,状态栏样式不会根据导航栏的样式而改变,它总是采用默认的--即黑文字--并且我们必须显式地更改状态栏样式。

我们是否需要设置任何方法或变量来保持它依赖于导航条样式,即使它是隐藏的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-27 01:04:39

据我所知,没有内置设置可以自动检测导航条的可见性并相应地更改状态栏。如果要实现这一点,请在视图控制器中重写preferredStatusBarStyle

代码语言:javascript
复制
override var preferredStatusBarStyle: UIStatusBarStyle {
    guard let navBarStyle = navigationController?.navigationBar.barStyle else {
        return .default
    }

    switch navBarStyle {
    case .black, .blackTranslucent: return .lightContent
    default: return .default
    }
}

正如this answer所描述的,您应该在Info.plist中将基于视图控制器的状态栏外观设置为YES

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47980742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档