xcode10 - preferredStatusBarStyle var 在 iOS12 中不起作用?
问题描述
添加
application.statusBarStyle = .lightContent
到我的 AppDelegate 的 didFinishLaunchingWithOptions 方法,也没有添加
override var preferredStatusBarStyle: UIStatusBarStyle {
return UIStatusBarStyle.lightContent
}
到 VC 不再适用于 iOS12/Xcode10
有任何想法吗?
解决方案
这与 iOS 12 无关。您只是规则错误。
在导航控制器的情况下,状态栏的颜色不是由视图控制器的preferredStatusBarStyle
.
令人惊讶的是,它是由导航栏的barStyle
. 要获得浅色状态栏文本,请说(在您的视图控制器中):
self.navigationController?.navigationBar.barStyle = .black
很难相信,但确实如此。几年前,我直接从 Apple 获得了这些信息。
您也可以在情节提要中执行此设置。
例子!导航栏的栏样式为.default
:
导航栏的栏样式为.black
:
iOS 13 的注意事项 只要您不使用大标题或 UIBarAppearance,这仍然适用于 iOS 13。但基本上你应该停止这样做,让状态栏颜色根据用户选择的浅色或深色模式自动进行。
推荐阅读
- c++ - 类图中接口和类所需的关系,C++
- maven - maven中的传递依赖
- python - 合并具有不同和未知字段的数据帧
- linux - foreach 循环中的 TCSH 错误:files.list:找不到命令
- javascript - 如何将复杂的字符串拆分为数组?
- javascript - 如何通过过滤器在具有行跨度的表中进行搜索
- fabricjs - Fabricjs v2.4.1 loadFromJSON 从 v1.7.17 生成的图像缩放问题
- facebook - 将应用程序公开后发布到页面不起作用
- asp.net - Asp net core api 循环实体未显示在循环结果中
- android - 应用程序在启动时崩溃,我查看了代码但没有得到任何东西