В моем приложении, когда я получил новое уведомление от какого-либо приложения, строка состояния становится полностью белой, а цвет панели навигации - зеленым.
В моем приложении на нескольких экранах отсутствует панель навигации., поэтому я решил написать следующий код для изменения цвета строки состояния и показать / скрыть панель навигации.
// set Green navigation bar
func setAppThemeGreenNavigationBar() {
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.navigationBar.backgroundColor = UIColor.AppNavBarColor
UIApplication.shared.statusBarView?.backgroundColor = UIColor.AppNavBarColor
}
// set transparent navigation bar
func setTransparentNavigationBar() {
self.navigationController?.navigationBar.backgroundColor = UIColor.clear
UIApplication.shared.statusBarView?.backgroundColor = UIColor.clear
}
Мой файл plist имеет следующие настройки:
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
Примечание: у меня естьтакже использование уведомлений в приложении означает, что у меня есть баннер навигации по умолчанию, когда я получил push-уведомление для своего приложения, когда приложение находится на переднем плане.
![Check the Status bar color](https://i.stack.imgur.com/TDp1k.jpg)