限制文本字段长度

时间:2011-08-25 09:00:04

标签: objective-c ios cocoa-touch uitextfield

请告诉我如何将文本字段的范围设置为最多六个,最少一个。

2 个答案:

答案 0 :(得分:3)

将self设置为textfield的委托并实现此方法:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
    if (newString.length < 1) {
        // too short
    } else if (newString.length > 6) {
        // too long
    }
    return YES;
}

我建议你有一个UILabel用红色文字说文字太短或太长。只是防止用户在达到6个字符时键入文本字段或在他们改变主意时删除最后一个字符是一种非常糟糕的用户体验。

答案 1 :(得分:0)

实现委托方法textField:shouldReplaceCharactersInRange:replacementString:,如果结果字符串超出约束条件,则让实现返回NO