美文网首页
ios控制文本输入长度

ios控制文本输入长度

作者: Cofey_c | 来源:发表于2019-12-13 14:26 被阅读0次
- (void)valueChanged:(UITextField *)textField {
    int length = 30;//限制的字数
    NSString *toBeString = textField.text;
    NSString *lang = [[UIApplication sharedApplication] textInputMode].primaryLanguage; // 键盘输入模式
    if ([lang isEqualToString:@"zh-Hans"]) { // 简体中文输入,包括简体拼音,健体五笔,简体手写
        UITextRange *selectedRange = [textField markedTextRange];       //获取高亮部分
        UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:0];
        // 没有高亮选择的字,则对已输入的文字进行字数统计和限制
        if (!position || !selectedRange) {
            if (toBeString.length > length) {
                NSRange rangeIndex = [toBeString rangeOfComposedCharacterSequenceAtIndex:length];
                if (rangeIndex.length == 1) {
                    textField.text = [toBeString substringToIndex:length];
                } else {
                    NSRange rangeRange = [toBeString rangeOfComposedCharacterSequencesForRange:NSMakeRange(0, length)];
                    textField.text = [toBeString substringWithRange:rangeRange];
                }
            }
        }
    }
    self.nickNameLenLabel.text = [NSString stringWithFormat:@"%d/%d",(int)textField.text.length,length];
}

相关文章

网友评论

      本文标题:ios控制文本输入长度

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