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

Чтобы установить цвет текста строки состояния, вы можете использовать перечисление 'UIStatusBarStyle'. Стиль '.default' задает черный или темный цвет текста в светлом режиме и белый или светлый в темном режиме, а стиль '.lightContent' задает белый или светлый цвет текста в светлом режиме и черный или темно в темном режиме.

Вы можете установить стиль строки состояния для всего приложения, добавив следующий код в свой класс AppDelegate:

Swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Точка переопределения для настройки после запуска приложения.
if # available (iOS 13.0, *) {
пусть внешний вид = UINavigationBarAppearance()
внешний вид.configureWithDefaultBackground()
внешний вид.titleTextAttributes = [.foregroundColor: UIColor.white]
внешний вид.largeTitleTextAttributes = [.foregroundColor: UIColor.white]

пусть navigationBarAppearance = UINavigationBar.appearance()
navigationBarAppearance.tintColor = .white
navigationBarAppearance.standardAppearance = внешний вид
navigationBarAppearance.scrollEdgeAppearance = внешний вид

let tabBarAppearance = UITabBarAppearance()
tabBarAppearance.configureWithDefaultBackground()
tabBarAppearance.backgroundColor = UIColor (красный: 34/255, зеленый: 34/255, синий: 34/255, альфа: 1.0)
> tabBarAppearance.stackedLayoutAppearance.normal.titleTextAttributes = [.foregroundColor: UIColor.white]
tabBarAppearance.stackedLayoutAppearance.normal.iconColor = .white

let tabBarItemAppearance = UITabBarItem.appearance()
tabBarItemAppearance.setTitleTextAttributes([.foregroundColor: UIColor.white], для: .normal)

let window = UIWindow(frame: UIScreen.main.bounds)
window.rootViewController = UINavigationController(rootViewController: MainViewController())
window.makeKeyAndVisible()
self.window = window
> } else {
// Возврат к более ранним версиям
UIApplication.shared.statusBarStyle = .lightContent
}
return true
}

В этом примере кода для стиля строки состояния задано значение '.lightContent ' для более ранних версий iOS, не поддерживающих темный режим. В iOS 13 и более поздних версиях внешний вид панели навигации, панели вкладок и их элементов также настраивается в соответствии с внешним видом приложения в светлом или темном режиме.

Обратите внимание, что в iOS 13 и более поздних версиях стиль строки состояния может быть переопределен внешним видом панели навигации или панели вкладок. Чтобы убедиться, что стиль строки состояния соответствует внешнему виду вашего приложения, вы также должны настроить внешний вид этих компонентов.