Xcode 13 — Панель навигации и строка состояния изменяют цвет текста в swift OS 15

#swift #xcode #storyboard #uinavigationbar #ios15

#быстрый #xcode #раскадровка #панель навигации #ios15

Вопрос:

Недавно я обновил свой Xcode до 13, и после этого у меня возникли некоторые проблемы с панелью навигации и строкой состояния. Я использую панель вкладок в своем контроллере просмотра. После обновления Xcode, в соответствии с версией, я добавил некоторый код, связанный с панелью навигации.

 if #available(iOS 15.0, *) {  tableView.sectionHeaderTopPadding = 0   let appearance = UINavigationBarAppearance()  appearance.configureWithOpaqueBackground()  appearance.backgroundColor = UIColor(red: 58/255,green: 24/255, blue: 93/255, alpha: 1.0)  appearance.titleTextAttributes = [NSAttributedString.Key.foregroundColor:UIColor.white]   // Customizing our navigation bar  navigationController?.navigationBar.tintColor = .white  navigationController?.navigationBar.barTintColor = .white  navigationController?.navigationBar.standardAppearance = appearance  navigationController?.navigationBar.scrollEdgeAppearance = appearance }  

Все работало, когда я впервые открыл приложение. Когда я нажимаю на другую вкладку, а затем на эту вкладку. Цвет текста в строке состояния меняется.

введите описание изображения здесь

введите описание изображения здесь

Я пробовал разные способы настройки цвета текста в строке состояния. Но у меня ничего не получалось.

Ответ №1:

Используйте эту функцию:

 extension YourViewController {  override var preferredStatusBarStyle: UIStatusBarStyle {  .lightContent  } }