UIStatusbar меняет цвет на белый для получения новых уведомлений из любого приложения - PullRequest
0 голосов
/ 14 марта 2019

В моем приложении, когда я получил новое уведомление от какого-либо приложения, строка состояния становится полностью белой, а цвет панели навигации - зеленым.

В моем приложении на нескольких экранах отсутствует панель навигации., поэтому я решил написать следующий код для изменения цвета строки состояния и показать / скрыть панель навигации.

// 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

...