клавиатура не закрывается на UITextField - PullRequest
2 голосов
/ 05 декабря 2011

Это может показаться новичком, однако я новичок в разработке для iOS.

Платформа: iPad

У меня есть UITableView с UITextField, скажем, их два. При нажатии на первую должна появиться одна виртуальная клавиатура, но когда пользователь нажимает на второй UITextField, виртуальная клавиатура должна быть скрыта, и должно отображаться представление выбора данных.

Так вот, как я это сделал.

-(void) textFieldDidBeginEditing:(UITextField *)textField {
    if (textField.tag == PICKER_VIEW_TAG) {
        [textField resignFirstResponder];
    } else {
        ...
    }
}

-(void) textFieldDidEndEditing:(UITextField *)textField
{
    if (textField.tag != PICKER_VIEW_TAG) {
        ...
    }
}

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    if (textField.tag == PICKER_VIEW_TAG) {
        [self countriesPickerView];
    }
    return YES;
}

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    if (textField.tag == PICKER_VIEW_TAG) {
        [textField resignFirstResponder];
    } else {
        ... 
    }
    return YES;
}

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

ОБНОВЛЕНИЕ: Соответствующее textField не выделено, а именно, происходит отставка, верно? но клавиатура не скрыта ... почему это происходит?

Ответы [ 2 ]

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

Установите свойство inputView на UITextField для отображения представлений, отличных от клавиатуры, для получения ввода.В этом случае вы должны установить текстовое поле inputView как экземпляр UIDatePicker.Средство выбора будет отображаться с той же анимацией клавиатуры автоматически, и вы сможете удалить кучу кода.Win / выигрыш.

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

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

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