iOS 13 isKeyWindow всегда возвращает ноль
Мне интересно, почему:
UIApplication.shared.windows.first { $0.isKeyWindow }
всегда возвращает nil как в симуляторе, так и на устройстве. Вы можете подтвердить это, поместив точку останова в viewDidLoad в любой контроллер представления и распечатав объект на консоли.
po UIApplication.shared.windows.first { $0.isKeyWindow }
Единственный способ получить "keyWindow" - это получить
UIApplication.shared.windows.first
Но нет явного упоминания о том, что это ключ. Что делать, если на iPad с разделенным представлением установлено несколько экземпляров моего приложения?
Есть идеи?
Я думаю, что если есть только одно окно, оно является ключевым по умолчанию, а если вы запускаете более одного окна на iPad, то то, с которым в настоящее время взаимодействуют, станет ключевым окном, однако я не тестировал это.
1 ответ
Вы пробовали это?
UIApplication.shared.windows.filter {$0.isKeyWindow}.first