UIStatusBarStyle lightContent не учитывается для модально представленного контроллера представления - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь изменить цвет текста строки состояния с черного на белый на контроллере представления с модальным представлением, встроенным в контроллер навигации с именем 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

Что я делаю не так?

...