Установить, какой цвет строки состояния UIWindow по умолчанию зависит от - PullRequest
0 голосов
/ 10 ноября 2019

У меня есть приложение по умолчанию UIWindow, в котором я создаю свое приложение целиком, а затем у меня есть второй слой UIWindow, поверх которого, в основном, у меня просто есть контроллер корневого представления, который я использую для представления пользовательских предупреждений и уведомлений.

Но когда я представляю второй UIWindow с настройкой .isHidden = false или вызовом .makeKeyAndVisible(), строка состояния не меняет цвет в зависимости от оригинала UIWindow, даже если верхняя строка полностьюочистить (bg color .clear и ничего в нем нет).

Если у меня нет верхнего UIWindow, строка состояния меняется с черного на белый при представлении нового UIViewController с modalPresentationStyle = .pageSheet. Но с новым UIWindow сверху строка состояния не реагирует и остается черной.

EDIT:

Вот код для rootViewController основного UIWindow

class AppContainerViewController: UIViewController {

    var didFirstPresent = false

    let popupWindow = UIWindow(frame: UIScreen.main.bounds)

    var overWindow : UIWindow!
    var overVC : UIViewController!

    override func viewDidLoad() {
        super.viewDidLoad()

        // Add hubViewController as child of AppContainer
        let hubViewController = AppGlobal.AppHandler.HubHandler.hubVC
        view.addSubview(hubViewController.view)
        addChild(hubViewController)
        hubViewController.didMove(toParent: self)

        // Add popup Layer window
        popupWindow.rootViewController = AppGlobal.NotificationHandler.popupLayerViewController
        popupWindow.isOpaque = false
        popupWindow.windowLevel = .alert
        popupWindow.backgroundColor = .clear
        popupWindow.isUserInteractionEnabled = false
        popupWindow.makeKeyAndVisible()
    }
}

А вот код для rootViewController из popupWindow

class PopupLayerViewController : UIViewController {

    private let alertLayer = UIView()

    override func viewDidLoad() {        
        view.addSubview(alertLayer)
        alertLayer.translatesAutoresizingMaskIntoConstraints = false
        alertLayer.widthAnchor.constraint(equalTo: view.widthAnchor).isActive = true
        alertLayer.heightAnchor.constraint(equalTo: view.heightAnchor).isActive = true
        alertLayer.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
        alertLayer.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true


    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...