подать в отставку клавиатуры в UITextField - PullRequest
0 голосов
/ 15 января 2012

Я работаю с раскадровками в iOS 5 и у меня простой экран с UITextField.Я хочу отклонить клавиатуру, когда пользователь нажимает «Return».Я последовал другим предложениям, таким как, когда мой контроллер реализует протокол UITextFieldDelegate и реализует textFieldShouldReturn: следующим образом:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [questionField resignFirstResponder];
    return YES;
}

Однако я вижу, что этот метод никогда не вызывается.Я установил контроллер моего представления в раскадровке на свой пользовательский UIViewController.

Я также попробовал другую реализацию, где я создаю IBAction с именем dismissKeyboard, но, как ни странно, я не могу подключить действие Did Exit к своему UITextField.

Есть идеи?

Обновление: Итак, проблема в том, что я использую UITextView, а не UITextField.Я хотел большую область для текста, который будет введен.Когда я изменяю поле ввода на UITextField, он работает нормально.Любые идеи о том, как заставить его работать с UITextView?

Ответы [ 3 ]

0 голосов
/ 16 января 2012

Таким образом, решение переназначить клавиатуру для UITextView заключается в реализации shouldChangeTextInRange.

0 голосов
/ 16 января 2012

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

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {

    if([text isEqualToString:@"\n"]) {
        [textView resignFirstResponder];
        return NO;
    }

    return YES;
}
0 голосов
/ 15 января 2012

Вы должны подключить метод dismiss к действию Did End Editing текстового поля.

...