Установка window.rootViewController с представленным контроллером представления сверху показывает пустой экран (iOS 12) - PullRequest
0 голосов
/ 21 февраля 2020

РЕДАКТИРОВАТЬ : я думаю, что потенциальная проблема заключается в том, как V C представляется:

VC.modalPresentationStyle = .overCurrentContext

Это приводит к тому, что UITransitionView и мой навигационный контроллер находятся в тот же уровень иерархии представлений, поэтому, когда я сохраняю window.rootViewController, я сохраняю неправильный для сохранения. Если я уберу эту строчку, все будет работать так, как ожидалось Однако мне нужно, чтобы оно было overCurrentContext или overFullScreen, потому что мне нужно, чтобы представленный вид был полупрозрачным и отображал вид снизу.


У меня проблема, присутствует на iOS 12, но не на 13, когда мое приложение не отображает мой root контроллер представления после его установки.

Есть представление контроллер, представленный поверх другого контроллера представления, встроенного в контроллер навигации.

В какой-то момент выполняется следующая логика c (более или менее):

var savedVC: UIViewController

...

savedVc = window.rootViewController
window.rootViewController = <...>

<some business logic here...>

UIWindow window = UIApplication.shared.keyWindow!
window.rootViewController = savedVc

В В конце концов, моя иерархия представлений содержит только представленный контроллер представлений. enter image description here

Однако контроллер навигации по-прежнему является корневым контроллером окна!

enter image description here

И если я отклоню этот контроллер вида, приложение покажет мне пустой экран. На iOS 13 это работает как положено, я вижу контроллер под представленным.

1 Ответ

0 голосов
/ 21 февраля 2020

проблема в контроллере навигации, попробуйте это

let story = UIStoryboard(name: "Main", bundle:nil)
let vc = story.instantiateViewController(withIdentifier: "NewViewController") as! NewViewController
UIApplication.shared.windows.first?.rootViewController = vc
UIApplication.shared.windows.first?.makeKeyAndVisible()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...