Необходимо знать, когда пользователь нажал "возврат" на клавиатуре в iOS

Я работаю над приложением в iOS, которое отображает случайную строку для пользователя и просит пользователя ввести эту же строку через клавиатуру. Я хотел бы сравнить строку, введенную пользователем, ТОЛЬКО после того, как он нажал клавишу возврата. Это возможно?

Вот мой соответствующий метод, в котором я делаю это:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {


    if (textField.tag == 1)
    {

            userString = @"";
            userString = keypadText.text;

            [keypadText resignFirstResponder];

           //here 'rand' is the random string that was presented earlier to the user, and userString is the text that the user has entered.
            if ([userString isEqualToString:rand]) {

                //do something

            }

            else {

                //do something else

            }

            [self.navigationController popViewControllerAnimated:YES];


    }

    return YES;

}

Как я уже сказал, я ТОЛЬКО хочу сделать сравнение после того, как пользователь нажал клавишу "возврат", и до тех пор, пока пользователь не предоставит столько возможностей для ввода заданного текста и внесения любых необходимых исправлений.

Может кто-нибудь показать мне, как это сделать?

1 ответ

Решение

Просто используйте textFieldDidFinishingEditing вместо shouldChangeCharactersinRange,

Конечно, есть и

- (BOOL)textFieldShouldReturn:(UITextField *)textField

Последний способ лучше.

Так просто.

Другие вопросы по тегам