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
Другие вопросы по тегам