UIWindow и его содержимое не отображаются в Xcode 11 iOS 13. Получение черного экрана - PullRequest
0 голосов
/ 02 апреля 2020

У меня был проект Swift, который был разработан в Xcode 10.2, и он работал нормально. Я перенес свой код из Xcode 10.2 в Xcode 11.3 . Так как после этого мое приложение не работает должным образом. Всякий раз, когда я пытаюсь добавить окно, его содержимое не отображается, и это полностью задний экран.

Я получил эту ошибку в консоли:

- [Окно] Ручное добавление представления rootViewController в иерархию представлений больше не выполняется поддерживается. Пожалуйста, позвольте UIWindow добавить представление rootViewController в саму иерархию представления.

Вот мой код:

    fileprivate(set) var topOverlayWindow         = UIWindow()

   override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    self.topOverlayWindow.windowLevel = UIWindow.Level(rawValue: CGFloat.greatestFiniteMagnitude)
    self.topOverlayWindow.backgroundColor = NSUtility.editVideoThemeColor
    self.topOverlayWindow.frame = CGRect(x: 0.0, y: 0.0, width:  56, height: 45)
    self.topOverlayWindow.rootViewController = KAPPDELEGATE?.window?.rootViewController;
    self.topOverlayWindow.alpha = 1.0
    self.topOverlayWindow.isHidden = false
    self.topOverlayWindow.makeKeyAndVisible()
}

1 Ответ

0 голосов
/ 04 мая 2020

Я получил решение. Теперь он работает нормально в iOS 12, iOS 13 из Xcode 11 .

В приведенном выше коде я просто заменяю этот

self.topOverlayWindow.rootViewController = KAPPDELEGATE?.window?.rootViewController 

на указанный ниже код

self.topOverlayWindow.rootViewController = UIViewController()

// Или вы можете передать ссылку на любой новый контроллер. Остальное все в порядке , Ссылка взята отсюда:

UIWindow не отображается поверх содержимого в iOS 13

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