swift - 状态栏颜色:preferredStatusBarStyle 与 childViewControllerForStatusBarStyle
问题描述
如果 ViewController 在 NavigationController 中(并且 NavigationBar 没有隐藏),则 StatusBar 颜色由 NavigationController 确定:
如果我们覆盖
preferredStatusBarStyle
NavigationController 的变量,我们将获得所需的颜色。如果我们覆盖
childViewControllerForStatusBarStyle
NavigationController,我们将获得与选择的 ViewController 相同的颜色(由preferredStatusBarStyle
该 ViewController 的变量确定)。问题是:如果我们覆盖这两个变量会发生什么?
剧透:实验表明,三种情况下的结果都不同。
情况的逻辑 3) 我不明白。
PS。看起来Xcode有一个错误。如果我们从 Xcode 启动应用程序,则根本不会调用preferredStatusBarStyle
。childViewControllerForStatusBarStyle
所以 StatusBar 颜色取决于我们如何启动应用程序。但这与问题无关。
解决方案
推荐阅读
- c# - Unity Fix NavMeshAgent 自动旋转 90 度
- python - 计算 numpy 数组之间的 MSE
- flutter - 如何删除文本字段的标签?
- vue.js - 离开页面时,我得到:未处理的 GraphQL 订阅错误错误:GraphQL 错误:未提供所需类型 xxx 的变量 xx
- android - 谷歌通过条纹支付
- python - 如何使用 Python 和 Pandas 查找具有单个字符的句子
- angular - 如果外部 observable 返回错误,则强制调用 switchMap 的内部 observable
- amazon-web-services - 使用 Ansible 的动态清单 (ec2.py) 的 Rundeck 作业
- python - 可靠地将数据帧从 EST(夏令时)转换为日本标准时间(无夏令时)
- android - 应用操作未使用应用操作测试工具运行