新增中
application.statusBarStyle = .lightContent
到我的AppDelegate的didFinishLaunchingWithOptions方法,也没有添加
override var preferredStatusBarStyle: UIStatusBarStyle {
return UIStatusBarStyle.lightContent
}
VC不再适用于iOS12 / Xcode10
有任何想法吗?
最佳答案
这与iOS 12无关。您只是错了规则。
在导航 Controller 情况下,状态栏的颜色不是由 View Controller 的preferredStatusBarStyle
决定的。
令人惊奇的是,它是由导航栏的barStyle
确定的。要获取灯光状态栏文本,请说(在 View Controller 中):
self.navigationController?.navigationBar.barStyle = .black
难以置信,但却是事实。多年前,我直接从Apple获得此信息。
您也可以在 Storyboard 中执行此设置。
例!导航栏的栏样式为
.default
:导航栏的栏样式为
.black
:iOS 13的注意,只要您不使用大标题或UIBarAppearance,它在iOS 13中仍然有效。但基本上,您应该停止这样做,并根据用户选择的亮或暗模式让状态栏颜色自动显示。