Ios UITextField应更改字符范围

Ios UITextField应更改字符范围,ios,objective-c,iphone,ios7,uitextfield,Ios,Objective C,Iphone,Ios7,Uitextfield,我正在实现一个textfield来输入用户密码。我正在尝试将存储的密码长度与用户输入的密码匹配。当长度匹配时,我尝试验证密码。如果密码不匹配或长度大于存储值,则我尝试清除文本字段(如果则清除否则),但最后输入的字符仍保留在文本字段中 请提出我做错了什么或正确的方法是什么 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSStrin

我正在实现一个textfield来输入用户密码。我正在尝试将存储的密码长度与用户输入的密码匹配。当长度匹配时,我尝试验证密码。如果密码不匹配或长度大于存储值,则我尝试清除文本字段(如果
则清除
否则),但最后输入的字符仍保留在文本字段中

请提出我做错了什么或正确的方法是什么

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
    {
            enteredPasscode = [enteredPasscode stringByAppendingString:string];
            if(enteredPasscode.length == [[self.passcodeFromDB stringValue] length])
            {
                [self performMatch:enteredPasscode];
            }
            else if(enteredPasscode.length > [[self.passcodeFromDB stringValue] length]){
                self.passcodeField.text = @"";
                textField.text = @"";
                enteredPasscode = @"";
            }
        return YES;
    }

您需要返回NO;当您将所有内容设置为@“时。我刚刚检查过,它对我有效

返回否而不是是,并使用以下命令:NSString*enteredPassword=[textField.text stringByReplacingCharactersInRange:range with string:string];