1

我正在开发 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;

}

正如我所说,我只想在用户按下“返回”键后进行比较,直到那时,让用户有尽可能多的机会输入给定的文本,并进行任何必要的更正。

有人可以告诉我如何做到这一点吗?

4

1 回答 1

6

只需使用textFieldDidFinishingEditing而不是shouldChangeCharactersinRange.

当然,也有

- (BOOL)textFieldShouldReturn:(UITextField *)textField

后者是更好的方法。

很简单。

于 2013-01-17T20:23:54.000 回答