我必须在推送时更改状态栏文本的颜色。除了唯一的情况,一切都正常:当我进入背景模式并返回然后转到下一个屏幕时,颜色保持不变。有趣的是,如果我再次进入背景并返回新屏幕,其状态栏文本颜色将再次更改-变为所需的颜色!
它不能一直复制,并且只能在iOS 12上(而不是在iOS 11上)复制,因此我将其视为平台错误,因此我将对其进行投诉。
但是我想以某种方式修复它。我尝试订阅应用程序通知didBecomeActive
,然后在ViewController和Navigation Controller上都调用setNeedsStatusBarAppearanceUpdate
,甚至使用了已弃用的方法UIApplication.shared.statusBarStyle = .lightContent
,但没有任何效果。
我在View controller-based status bar appearance
中将Info.plist
设置为YES,并在视图控制器中覆盖了preferredStatusBar
属性(如果我不进入后台模式,效果很好)。
我也阅读了以下讨论:
Change Background Color Status Bar iOS
Changing the Status Bar Color for specific ViewControllers using Swift in iOS8
How to change Status Bar text color in iOS
和其他一些类似的东西。
有什么想法吗?