gpt4 book ai didi

ios - UIStatusBar 风格与 UINavigationBar 一致

转载 作者:行者123 更新时间:2023-11-29 11:38:19 27 4
gpt4 key购买 nike

只是为了研究UINavigationBarUIStatusBar的UI,我把Navigation Bar Style改成了Black,并且取消勾选Bar visibility,即Shows Navigation Bar,但是UIStatusBar 样式没有更改为 lightContent

似乎如果我们隐藏导航栏,状态栏样式不会根据导航栏的样式而改变,它总是采用默认的 - 即黑色 - 文本,我们必须显式更改状态栏样式。

是否需要设置任何方法或变量以使其依赖于导航栏样式,即使它是隐藏的?

最佳答案

据我所知,没有内置设置可以自动检测导航栏的可见性相应地更改状态栏。如果您想实现这一点,请在您的 View Controller 中覆盖 preferredStatusBarStyle:

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 中的View controller-based status bar appearance设置为YES

关于ios - UIStatusBar 风格与 UINavigationBar 一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47980742/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com