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];
    }
}
上一篇下一篇

猜你喜欢

热点阅读