美文网首页
限制textfield输入字数

限制textfield输入字数

作者: yezi1989 | 来源:发表于2018-05-23 10:21 被阅读4次

    // 限制textfield输入字数

    - (NSString *)limitTextFieldNum:(UITextField *)textField withNum:(NSInteger)maxNum{

       NSInteger kMaxLength = maxNum;

        NSString *toBeString = textField.text;

        NSString *lang = [[UIApplication sharedApplication]textInputMode].primaryLanguage; //ios7之前使用[UITextInputMode currentInputMode].primaryLanguage

        if ([lang isEqualToString:@"zh-Hans"]) { //中文输入

            UITextRange *selectedRange = [textField markedTextRange];

            //获取高亮部分

            UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:0];

            if (!position) {// 没有高亮选择的字,则对已输入的文字进行字数统计和限制

                if (toBeString.length > kMaxLength) {

                    textField.text = [toBeString substringToIndex:kMaxLength];

                }

            }

            else{//有高亮选择的字符串,则暂不对文字进行统计和限制

                if (toBeString.length > kMaxLength) {

                    textField.text = [toBeString substringToIndex:kMaxLength];

                }

            }

        }else{//中文输入法以外的直接对其统计限制即可,不考虑其他语种情况

            if (toBeString.length > kMaxLength) {

                textField.text = [toBeString substringToIndex:kMaxLength];  

             }

     }

        return textField.text;

    }

    相关文章

      网友评论

          本文标题:限制textfield输入字数

          本文链接:https://www.haomeiwen.com/subject/vaoljftx.html