iOS UITextView
2020-06-18 本文已影响0人
Joymerry
1.属性
设置内边距
// 内边距设置为0
textView.textContainerInset = UIEdgeInsetsZero;
设置行间距
// 行间距设置为0
textView.textContainer.lineFragmentPadding = 0;
2.解决输入中文拼音被算入计数问题
问题:因为输入的中文拼音也被计入长度,导致限制10个字符,输入拼音的时候总是达不到10个字符汉字的时候,最后把拼音截取显示
代码:
- (void)textViewDidChange:(UITextView *)textView {
NSString * lang = [textView textInputMode].primaryLanguage;
if ([lang isEqualToString:@"zh-Hans"]) {
//输入简体中文内容
//获取高亮部分,如拼音
UITextRange *selectedRange = [textView markedTextRange];
UITextPosition *position = [textView positionFromPosition:selectedRange.start offset:0];
if (!position) {
if (textView.text.length > 10) {
textView.text = [textView.text substringToIndex:10];
}
}
}else{
//输入简体中文以外的内容
textView.text = [textView.text substringToIndex:10];
}
}