0
我正在實現一個文本框來輸入用戶密碼。我試圖將存儲的密碼長度與用戶輸入的密碼相匹配。當長度匹配我嘗試驗證密碼。如果密碼不匹配或長度超過存儲值,我嘗試清除文本字段(else-if
),但最後輸入的字符仍保留在文本字段中。UITextField shouldChangeCharactersInRange
請提出我做錯了什麼或者什麼是正確的方法?
- (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而不是YES – 2014-10-03 11:51:25
並使用以下內容: NSString * enteredPasscode = [textField.text stringByReplacingCharactersInRange:range withString:string]; – Krzysztof 2014-10-03 11:52:40