Проблемы с первым респондентом при использовании пользовательского окна UIWindow - PullRequest
0 голосов
/ 16 апреля 2019

При использовании пользовательского окна UIWindow для выполнения определенного поведения в приложении возникли проблемы при программной настройке первого респондента, например, Переопределение вида контроллера inputAccessoryView или textField.becomeFirstResponder().

Чтобы сделать видимым подкласс UIWindow, я использовал:

window.makeKeyAndVisible()
window.isHidden = false

1 Ответ

0 голосов
/ 16 апреля 2019

Проблема заключается в том, что окно ключа приложения будет тем, которое будет пытаться стать первым респондентом, поэтому, если вы установите пользовательское окно как окно ключа (путем вызова window.makeKeyAndVisible()), оно будет темчто iOS будет сканировать, когда ей нужно программно вызвать первого респондента.

Чтобы избежать этого, установите его в качестве ключевого окна только в том случае, если вам действительно нужно, чтобы он стал первым респондентом (например, это окно, которое имееттекстовое поле).В противном случае установки window.isHidden = false достаточно для отображения окна.

// NOTE: Do not call makeKeyAndVisible() because that messes up with the main window's first responder
isHidden = false
...