Yut*_*uto 1 uisplitviewcontroller ios swift
使用 SplitViewController 时如何更改状态栏的颜色?当仅使用带有导航控制器的视图控制器时,状态栏的颜色会通过使用 \xe2\x91\xa0 自动更改。有什么方法可以自动更改状态栏吗?
\n\n我想向我的应用程序添加深色模式,因此我无法从项目/目标设置中更改状态栏样式。
\n\n在我的应用程序中,我有一个通知可以打开和关闭我的黑暗模式设置。
\n\n我努力了
\n\n\xe2\x91\xa0self.navigationController?.navigationBar.barStyle = .black
\xe2\x91\xa1更改 info.plist
\n\n\xe2\x91\xa2状态栏浅色内容不会出现在使用分割视图控制器的导航控制器中
\n\n\n小智 5
您可以使用下面的扩展。它们preferredStatusBarStyle
从嵌入式 ViewController 中获取。您只需要preferredStatusBarStyle在自定义 ViewController 中
覆盖
extension UISplitViewController {
open override var preferredStatusBarStyle: UIStatusBarStyle {
let master = viewControllers.first
return master?.preferredStatusBarStyle ?? .default
}
}
extension UINavigationController {
open override var preferredStatusBarStyle: UIStatusBarStyle {
return topViewController?.preferredStatusBarStyle ?? .default
}
}
extension UITabBarController {
open override var preferredStatusBarStyle: UIStatusBarStyle {
return selectedViewController?.preferredStatusBarStyle ?? .default
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
697 次 |
| 最近记录: |