SideMenu в Swift игнорирует UIStatusBarStyle.lightContent - PullRequest
0 голосов
/ 14 ноября 2018

Я использую стороннюю библиотеку под названием SideMenu, которую можно найти здесь . Это работает как шарм, но в моем приложении я использую белую строку состояния UIStatusBarStyle.lightContent. Я установил это во всем проекте: в информации о развертывании и программно:

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

В viewDidLoad() я также звоню setNeedsStatusBarAppearanceUpdate(). Он работает на всех ViewControllers, кроме случаев, когда я использую SideMenu. Когда он появляется, текст StatusBar становится черным, а когда я его закрываю, он снова не становится белым. Он становится белым только когда я перехожу на другой ViewController, где preferredStatusBarStyle переопределяется.

Есть идеи, как я могу это исправить? Мне нужно позвонить setNeedsStatusBarAppearanceUpdate() куда-нибудь еще? Я попытался взглянуть на исходный код SideMenu и попытался реализовать его в функции перехода, но это также оказалось безуспешным.

Примечание: я настроил свой проект с помощью .lightContent в информации о развертывании, но все равно мои ViewControllers показывают черную строку состояния, если я не переопределяю preferredStatusBarStyle. Может быть, это тоже проблема - по умолчанию она не белая, а черная, хотя я установил .lightContent?

РЕДАКТИРОВАТЬ: я также использую эти расширения, чтобы заставить цвет StatusBar работать, используя TabBarController и NavigationController. Здесь также может быть проблема:

extension UITabBarController {
    open override var childForStatusBarStyle: UIViewController? {
        return selectedViewController
    }
}

extension UINavigationController {
    open override var childForStatusBarStyle: UIViewController? {
        return visibleViewController
    }
}
...