Я не могу заставить работать ключ возврата в моем UITextField - PullRequest
1 голос
/ 17 декабря 2011

Я не могу заставить работать ключ возврата в моем UITextField's!У меня довольно много UITextField's, так что может кто-нибудь дать немного кода?

Ответы [ 3 ]

1 голос
/ 18 декабря 2011

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

textField.delegate = self;

. Убедитесь, что контроллер представления принимает протокол UITextFieldDelegate, добавив его в объявление интерфейса

<UITextFieldDelegate>

используйте метод textFieldShouldReturn

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    if (textField == self.Field1) {
        [self.Field2 becomeFirstResponder];
    }
    else if (textField == self.Field2) {
        [self.Field3 becomeFirstResponder];
    }
    else if (textField == self.Field3) {
        [self.Field4 becomeFirstResponder];
    }
    else if (textField == self.Field4) {
        [self.Field5 becomeFirstResponder];
    }
    else if (textField == self.Field5) {
        [self.Field5 resignFirstResponder];
    }
    return YES;
}
0 голосов
/ 17 декабря 2011

проверьте, установлен ли textField.delegate = self;, где self является текущим UIViewController, а затем проверьте, если вы покидаете текстовое поле: [textField resignFirstResponder];

0 голосов
/ 17 декабря 2011

Попробуйте это

- (IBAction)textFieldDoneEditing:(id)sender 
{ 
     [sender resignFirstResponder];
}

Вам нужно будет подключить его ко всем имеющимся у вас текстовым полям.Используйте параметр Did End On Exit при подключении к File's Owner.

...