Я пытаюсь изменить цвет текста строки состояния с черного на белый на контроллере представления с модальным представлением, встроенным в контроллер навигации с именем ChildViewController
Я использую Chameleon Framework для цветов.
Я могу без проблем изменить цвет фона, используя:
guard let navBar = navigationController?.navigationBar else {fatalError("Navigation controller does not exist.")}
guard let navBarColour = UIColor(hexString: colourHexCode) else { fatalError()}
navBar.barTintColor = navBarColour
navBar.tintColor = ContrastColorOf(navBarColour, returnFlat: true)
navBar.largeTitleTextAttributes = [.foregroundColor : ContrastColorOf(navBarColour, returnFlat: true)]
Я пробовал несколько комбинаций ниже в viewWillAppear
& viewDidLoad
в ChildViewController
self.modalPresentationCapturesStatusBarAppearance = true
UIApplication.shared.statusBarStyle = .lightContent
setNeedsStatusBarAppearanceUpdate()
setStatusBarStyle(.lightContent)
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
Я даже попробовал собственный хамелеон self.setStatusBarStyle(UIStatusBarStyleContrast)
, но опять ничего не работает.
По моему Info.plist
у меня есть:
View controller-based status bar appearance = YES
А в общих настройках проекта под Информация о развертывании Стиль строки состояния установлен на Default
Ориентация на iOS 11.4 с Swift 4.1
Что я делаю не так?