Можно ли напрямую вызывать UIResponder.resignFirstResponder? - PullRequest
0 голосов
/ 04 декабря 2018

Я только начал подозревать, что вызов resignFirstResponder напрямую не разрешен.В отличие от NSResponder, разрешено вызывать becomeFirstResponder непосредственно в UIKit.До сих пор я предполагал, что звонить по номеру resignFirstResponder тоже можно.Но на самом деле в руководстве говорится, что resignFirstResponder метод предназначен для получения уведомлений, и ничего не говорится о прямом вызове.

Уведомляет этот объект, что его попросили отказаться от статуса первого респондента в егоwindow.

Если он спроектирован так же, как работает NSResponder, прямой вызов на resignFirstResponder не будет разрешен, хотя в руководстве нет очевидного способа выяснить обоснованность вызова....

Если он был разработан так, чтобы его не вызывать напрямую, прямой вызов метода был бы вредным или усложнил бы поддержку кода.

Можно ли вызывать метод UIResponder.resignFirstResponder напрямую

1 Ответ

0 голосов
/ 04 декабря 2018

Вроде бы все в порядке, потому что в другой части руководства , там написано

... Чтобы убрать клавиатуру, вы вызываете метод resignFirstResponderтекстовое представление, которое в настоящее время является первым респондентом.Когда текстовое представление отказывается от статуса первого респондента, оно завершает текущий сеанс редактирования, уведомляет своего делегата об этом и отклоняет клавиатуру.Другими словами, если у вас есть переменная с именем myTextField, которая указывает на объект UITextField, который в данный момент является первым респондентом, отменить клавиатуру так же просто, как сделать следующее:

[myTextField resignFirstResponder];

Все отэта точка автоматически обрабатывается для вас текстовым объектом.

...