как много разработчиков iOS, я столкнулся с некоторыми проблемами при обновлении iOS 13.Одним из них было различное управление стилем строки состояния
В iOS 12 я использовал для установки стиля панели навигации, подобного этому
self.navigationController?.navigationBar.barStyle = .black
, который влияет на стиль строки состояния, устанавливая его вбелый (потому что стиль панели навигации черный);но, похоже, он не работает на iOS 13, я думаю, у него есть что-то, связанное с
UINavigationBarAppearance()
class
Я настроил свою панель навигации для каждого ViewController следующим образом:
if #available(iOS 13.0, *) {
let navBarAppearance = UINavigationBarAppearance()
navBarAppearance.configureWithOpaqueBackground()
navBarAppearance.accessibilityTextualContext = .sourceCode
navBarAppearance.titleTextAttributes = [.foregroundColor: UIColor.white]
navBarAppearance.largeTitleTextAttributes = [.foregroundColor: UIColor.white]
navBarAppearance.backgroundColor = .brownCircles
navBarAppearance.shadowImage = nil // remove navigationBar Bottom border
navBarAppearance.shadowColor = nil // remove navigationBar Bottom border
self.navigationController?.navigationBar.standardAppearance = navBarAppearance
self.navigationController?.navigationBar.compactAppearance = navBarAppearance
self.navigationController?.navigationBar.scrollEdgeAppearance = navBarAppearance
} else {
self.navigationController?.navigationBar.barTintColor = .blue
self.navigationItem.title = NSLocalizedString(kTitle, comment: kTitle.capitalized)
}
self.navigationController?.navigationBar.barStyle = .black
пока все хорошо, но
self.navigationController?.navigationBar.barStyle = .black
работает только на iOS 12, на iOS 13 ничего не происходит, строка состояния по-прежнему выглядит черной, а не белой
Кто-нибудь сталкивалсяэтот вопрос?