限制文本字段长度

Posted

技术标签:

【中文标题】限制文本字段长度【英文标题】:Limit text field length 【发布时间】:2011-08-25 09:00:04 【问题描述】:

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

【问题讨论】:

如果您能通过点击旁边的灰色复选标记来接受您的问题的正确答案,那就太好了。 【参考方案1】:

将 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 个字符时输入文本字段或在他们改变主意时删除最后一个字符是非常糟糕的用户体验。

【讨论】:

【参考方案2】:

实现委托方法 textField:shouldReplaceCharactersInRange:replacementString: 并让您的实现返回 NO,如果结果字符串超出您的约束。

【讨论】:

以上是关于限制文本字段长度的主要内容,如果未能解决你的问题,请参考以下文章

AppleScript:是不是可以限制可在 Safari 文本字段中输入的字符串长度?

group_concat 是不是有长度限制或它不能在文本字段上工作的其他原因

SQLServer的字段能存储的长度远远达不到该字段的数据类型限制的长度

mysql关于行长度有限制吗

如何限制文本框输入长度

Objective-C 限制文本输入长度