swift - 在swift中覆盖系统UI样式时如何更改默认状态栏颜色
问题描述
当我将 overrideUserInterfaceStyle 覆盖为明暗模式设置为 on 时,在设备上,它不会将状态栏样式更改为 .lightcontent。
overrideUserInterfaceStyle = .light
self.navigationController?.navigationBar.largeTitleTextAttributes = [.foregroundColor: UIColor.black]
self.navigationController?.navigationBar.titleTextAttributes = [.foregroundColor: UIColor.black]
self.navigationController?.navigationBar.barStyle = .default
self.setNeedsStatusBarAppearanceUpdate()
那是我覆盖界面样式的代码。当我这样做时,状态栏将保留深色内容。
解决方案
如果您的内容在 a 内UINavigationController
,您将不会得到您所期望的。您必须继承UINavigationController
其内容并提升该视图控制器的覆盖值。
请参阅此线程以获得一些答案:preferredStatusBarStyle 未被调用
推荐阅读
- openvino - 问:如何获取 dldt buildinfo?
- django - 在 React 前端显示 rtsp 流
- excel - 宏按钮将文件移动到另一个文件夹
- node.js - 如何在构建模板时修复离子错误
- javascript - 如何以数组中的对象为条件在 Json 表单中使用规则?
- google-cloud-platform - 从 Google Cloud 内部 IP 调用 Google Cloud 存储桶
- blender - Blender:没有对象附加纹理
- javascript - 仅替换单击元素的内部部分
- javascript - React - useReducer 和 useState
- apache-spark - 如何在 GCP 中以集群模式运行 Spark 作业?