Как мне позвонить didEndEditing? - PullRequest
0 голосов
/ 20 октября 2011

Я проверяю форму в приложении для iPhone.Я хочу вызвать метод didEndEditing на моей кнопке подтверждения.Как мне это сделать?

Вот мой код

Это метод

-(void)didEndEditing:(UITextField*)textField;
{
   // Do Something!
}

Здесь я вызываю метод

-(IBAction)btnSelected:(id)sender {
   UIBarButtonItem *bbi = (UIBarButtonItem *) sender;

   if (bbi.tag == 1) {

       [self didEndEditing]; // How do I call this method?
    }
 }

Может ли кто-нибудь мне помочь?

Ответы [ 2 ]

2 голосов
/ 20 октября 2011

Я полагаю, вы ссылаетесь на textViewDidEndEditing:? Вы не должны вызывать этот метод самостоятельно, он будет вызываться, когда текстовое поле больше не является первым респондентом. Из документации API:

Реализация этого метода не является обязательной. Текстовое представление отправляет это сообщение своему делегату после того, как оно закрывает все ожидающие изменения и оставляет свой первый статус респондента. Вы можете использовать этот метод, чтобы разрушить любые структуры данных или изменить любую информацию о состоянии, которую вы установили при начале редактирования.

Если вы хотите проверить, я предлагаю вам изменить код проверки и вызвать его из textViewDidEndEditing: и отправить.

Вы можете проходить через все текстовые поля следующим образом:

for (UITextField *textField in [NSArray arrayWithObjects
                                self.textField1,
                                self.textField2,
                                nil]) {
   // validate textField
}

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

0 голосов
/ 20 октября 2011

Вы должны просто resignFirstResponder на активном textField:

-(IBAction)btnSelected:(id)sender {
   UIBarButtonItem *bbi = (UIBarButtonItem *) sender;

   if (bbi.tag == 1) {

       [self.myActiveTextField resignFirstResponder];
    }
 }

Тогда didEndEditing должен быть вызван сам по себе.

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