我正在实现一个输入用户密码的文本字段。我试图将存储的密码的长度与用户输入的密码相匹配。当长度匹配时,我尝试验证密码。如果密码不匹配或长度大于存储值,则我尝试清除文本字段(else-if
),但最后输入的字符仍保留在文本字段中。
请提出我做错了什么或者正确的方法是什么?
- (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;
}
答案 0 :(得分:1)
你需要归还NO;当你把所有东西都设置为@""。我刚检查过它对我有用