UITextField использует события касания? - PullRequest
0 голосов
/ 16 сентября 2010

В моем контроллере вида в качестве подпредставления есть объект UITextField. Контроллер установлен в качестве цели для обработки события UIControlEventTouchUpOutside текстового поля. Я пытаюсь использовать этот обработчик событий для отклонения клавиатуры, когда текстовое поле становится первым респондентом, но оно, кажется, никогда не вызывается. Методы делегирования, такие как textFieldShouldReturn, работают просто отлично.

Почему объект текстового поля не отправляет сообщение действия цели? Я попробовал эту схему для множества всех сенсорных событий, но не повезло ... Или мне нужно как-то подкласс UITextField, чтобы иметь возможность перехватить это событие?

Заранее спасибо!

Ответы [ 3 ]

0 голосов
/ 16 сентября 2010

Он реагирует на те же события, что и UIButton. Посмотри в IB. Также вы можете рассмотреть возможность использования метода UITextFieldDelegate

- (BOOL) textFieldShouldBeginEditing:(UITextField *)textField
0 голосов
/ 16 сентября 2010

UITextField точно отвечает на эти события для обработки позиционирования курсора и так далее.Он может не «переслать» это событие своему родителю.Если вам нужно перехватить их, вы можете создать подкласс UITextEvent и перехватить это событие самостоятельно (конечно, не забудьте вызвать [super blablabla], чтобы сохранить стандартное поведение.

0 голосов
/ 16 сентября 2010

Возможно, он просто не отвечает на событие UIControlEventTouchUpOutside.Я уверен, что он ответит на событие UIControlEventValueChanged.Я думаю, что вы можете поместить прозрачный пользовательский UIButtom в качестве фонового представления, и если любой touchInSideUp в UIButtom, вы можете отклонить клавиатуру по желанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...