Я пытаюсь изменить цвет фона навигационной панели на UIImagePickerController, и кажется, что все предыдущие подходы больше не работают в последней версии iOS. Мне не нужно глобальное решение (через AppDelegate), потому что я хочу сохранить предыдущие цвета других navBar. Следующий код работает нормально на iOS <12.3, но не воздействует на iOS 13, а navBar все время остается полупрозрачным белым. </p>
class CustomImagePickerController: UIImagePickerController {
// MARK: - Override Properties
override var preferredStatusBarStyle: UIStatusBarStyle {
if #available(iOS 13, *) {
return .darkContent
}
return .lightContent
}
override func viewDidLoad() {
super.viewDidLoad()
setup()
if #available(iOS 13, *) {
self.modalPresentationStyle = .overCurrentContext
}
}
// MARK: - Private Methods
private func setup() {
if #available(iOS 13, *) {
let navBarAppearance = UINavigationBarAppearance()
navBarAppearance.configureWithOpaqueBackground()
navBarAppearance.backgroundColor = UIColor.appPurpleColor
navigationBar.compactAppearance = navBarAppearance
navigationBar.standardAppearance = navBarAppearance
navigationBar.scrollEdgeAppearance = navBarAppearance
} else {
navigationBar.isTranslucent = false
navigationBar.barTintColor = UIColor.appPurpleColor
navigationBar.tintColor = UIColor.appPurpleColor
}
}
}
Что я здесь не так делаю?