我试图验证textField中的文本长度。这是我尝试的验证文本字段长度
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *textLenght = [NSString stringWithFormat:@"%@", [textField text]];
if ([textLenght length] > 5)
{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Message"
message:@"Too long"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil, nil];
[alert show];
[alert release];
return NO;
}
return YES;
}
此代码效果很好。当我输入5个以上的字符时,会显示警告框。问题是,当我尝试删除文本字段的最后一个字符时,警告框会再次显示。
如何解决这个问题?
为什么要创建它? – Ariel 2012-03-08 16:03:20
@Ariel正如我在我的回答中所说的,因为字符用户输入可能是退格,它会减少字符串的长度,并且检查逻辑将是正确的。 – Eugene 2012-03-08 18:02:36