UIStatusBarStyle lightContent не учитывается для модально представленного контроллера представления

Я пытаюсь изменить цвет текста строки состояния с черного на белый на контроллере представления с модальным представлением, встроенным в контроллер навигации с именем ChildViewController

Я использую рамки Хамелеон для цветов.

Я могу изменить цвет фона без проблем, используя:

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

Что я делаю неправильно?

0 ответов

Другие вопросы по тегам