Какой метод делегата мне следует использовать для ответа на щелчки в текстовом поле? - PullRequest
1 голос
/ 25 марта 2009

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

- (void)textDidBeginEditing:(NSNotification *)aNotification

метод не работает, и что

- (void)controlTextDidBeginEditing:(NSNotification *)aNotification

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


Извините, я думаю, что хочу использовать это на Mac, а не на Iphone, как это сделать с какао?

Ответы [ 2 ]

5 голосов
/ 25 марта 2009

Метод делегата textFieldDidBeginEditing: запускается только тогда, когда пользователь начинает редактировать текст внутри UITextField, как следует из названия метода.

Если вы хотите вызвать метод при касании UITextField, попробуйте следующее:

[textField addTarget:self 
              action:@selector(textFieldTouched:)
    forControlEvents:UIControlEventTouchDown];

- (void) textFieldTouched:(id)sender {
    // Display the panel
}
3 голосов
/ 25 марта 2009

Правильное имя метода делегата

- (void)textFieldDidBeginEditing:(UITextField *)textField

Из документации:

Этот метод уведомляет делегата, что указанное текстовое поле только что стало первым респондентом.

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