UITextField和UITextView限制字数

来源:互联网 发布:毒药法术升级数据 编辑:程序博客网 时间:2024/05/21 03:56

在日常开发中碰到限制字数的需求也是常见的,以UITextField为例(UITextView同理),看看如何限制字数。这里我只是简单实现这个功能,如果是字符比较混杂,比如表情,各种类型的文字等的计数不知道这段代码能不能正确限制字数。
首先当然要实现UITextField的代理:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{//获取到文本内容    NSString *content = [textField.text                      stringByReplacingCharactersInRange:range                      withString:string];    if (string.length == 0)    {        return YES;    }    NSInteger existedLength = textField.text.length;    NSInteger selectedLength = range.length;    NSInteger replaceLength = string.length;    //限制只能输入12个字符    if (existedLength - selectedLength + replaceLength > 12) {    //只取前12个字符        self.uploadOrgName = [textField.text substringToIndex:12];        return NO;    }    //12个字符以下允许继续编辑    return YES;}- (void)textFieldDidChange:(UITextField *)textField{//如果当前的textField是你希望编辑的textField,如果字数大于12,那么只显示12个字符,多余的输入舍弃    if (textField == self.orgNameTextField) {        if (textField.text.length > 12) {            textField.text = [textField.text substringToIndex:12];        }    }}

如果需要显示类似7/12这种提示当前输入字数与字数上限的,获取当前显示的字符(content)的长度即可。

0 0
原创粉丝点击