描述:

textView输入文本有字数限制,比如100个字符。

      直接用textView.text = [textview.text substringToIndex:100]来截取到100前的字符,会将键盘预输入的拼音都算入其中,导致到了100时,textView的text直接变成键盘中预输入的拼音。


解决办法:

判断预输入,预输入文字不计入

- (void)textViewDidChange:(UITextView *)textView{
NSString *nsTextContent = textView.text;
NSInteger existTextNum = nsTextContent.length;

if (textView.markedTextRange == nil) {
// 没有预输入文字
if (existTextNum > 100){
//截取到最大位置的字符
NSString *s = [nsTextContent substringToIndex:100];
[textView setText:s];
}
}
}