TextView限制输入文字个数
2019-01-03 本文已影响2人
hncjliyingjie
TextField 、TextView限制输入文字个数-2019-01-03
- (void)textViewDidChange:(UITextView *)textView {
//最大长度
NSInteger kMaxLength = 300;
NSString *toBeString = textView.text;
NSString *lang = [[UIApplication sharedApplication]textInputMode].primaryLanguage; //ios7之前使用[UITextInputMode currentInputMode].primaryLanguage
if ([lang isEqualToString:@"zh-Hans"]) { //中文输入
UITextRange *selectedRange = [textView markedTextRange];
//获取高亮部分
UITextPosition *position = [textView positionFromPosition:selectedRange.start offset:0];
if (!position) {// 没有高亮选择的字,则对已输入的文字进行字数统计和限制
if (toBeString.length > kMaxLength) {
textView.text = [toBeString substringToIndex:kMaxLength];
[textView resignFirstResponder];
}
}
else{//有高亮选择的字符串,则暂不对文字进行统计和限制
}
}else{//中文输入法以外的直接对其统计限制即可,不考虑其他语种情况
if (toBeString.length > kMaxLength) {
textView.text = [toBeString substringToIndex:kMaxLength];
}
}
}