Не удается изменить цвет строки состояния в SplitViewController - PullRequest
0 голосов
/ 21 марта 2019

Как я могу изменить цвет строки состояния при использовании SplitViewController?Когда используется только view-контроллер с навигационным контроллером, цвет строки состояния изменяется автоматически с помощью ①.Существуют ли способы автоматического изменения строки состояния?

Я хочу добавить в приложение темный режим, чтобы не изменять стиль строки состояния в настройках проекта / цели.

В моем приложении есть уведомление, которое включает и выключает мои настройки темного режима.

Я пытался

self.navigationController?.navigationBar.barStyle = .black

infochange info.plist

Строка состояния Световое содержимое не отображается в Navigation Controller с использованием контроллера Split View

Это то, на что это похоже, и я использую ①, чтобы изменить цвет панели навигации

1 Ответ

1 голос
/ 21 марта 2019

Вы можете использовать расширения ниже.Они получают preferredStatusBarStyle от встроенного ViewController.Вам нужно только переопределить preferredStatusBarStyle в своем пользовательском ViewController

extension UISplitViewController {
    open override var preferredStatusBarStyle: UIStatusBarStyle {
        let master = viewControllers.first
        return master?.preferredStatusBarStyle ?? .default
    }
}

extension UINavigationController {
    open override var preferredStatusBarStyle: UIStatusBarStyle {
        return topViewController?.preferredStatusBarStyle ?? .default
    }
}

extension UITabBarController {
    open override var preferredStatusBarStyle: UIStatusBarStyle {
        return selectedViewController?.preferredStatusBarStyle ?? .default
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...