Скажите любому UITextField уволить - PullRequest
1 голос
/ 31 января 2011

Как узнать текущее значение firstResponder до resign?У меня есть UITableView с кучей TextFields, и я не знаю, какая из них активна все время.Я думал о том, чтобы хранить указатели на все ячейки в массиве и перебирать его, сообщая каждой ячейке resignFirstResponder, но я уверен, что есть более простой способ.Может быть, что-то вроде [CurrentFirstResponder resignFirstResponder]?

Буду признателен за помощь, Фабиан

РЕДАКТИРОВАТЬ : я не хочу отмахиваться от клавиатуры, когда пользователь нажимает готово.Это должно быть отклонено программно.Поскольку я не знаю, какой UITextField активен в любое время, я ищу что-то, что вызывает resignFirstResponder текущего FirstResponder.

Ответы [ 3 ]

3 голосов
/ 31 января 2011

Вы можете сохранить ссылку на UITextfeild, который активно редактирует, используя textFieldDidBeginEditing: в UITextFieldDelegate Protocol , или вы можете сделать это с помощью родительского представления:

UIView * myParentViewView;//view containing one or more editable UI controls 
[myParentViewView endEditing:YES];
1 голос
/ 31 января 2011

Я надеюсь, что это решит вашу проблему,

Назначьте делегата для UItextField,

textField.delegate=self;

, затем в следующем методе

    - (void)textFieldDidBeginEditing:(UITextField *)textField
    {
//This for to resign on begin editing
    [textField resignFirstResponder];
    }

 - (void)textFieldDidEndEditing:(UITextField *)textField
    {
//This for to resign on end editing
    [textField resignFirstResponder];
    }

Если вы не хотитеtextField, чтобы быть редактируемым тогда,

textField.editing=NO;

Установить тег, чтобы distingush ваши textFields

0 голосов
/ 31 января 2011

Просто используйте UITextFieldDelegate ( ссылка ). Когда вызывается - (BOOL)textFieldShouldReturn:(UITextField *)textField, выполняйте [textField resignFirstResponder], так как этот метод всегда вызывается с текущим активным текстовым полем Если вам все еще нужно различать текстовые поля, попробуйте установить тег и использовать его с if(textfield.tag == self.mytextfield.tag) {...}

...