iOS输入限制字数时,避免与中文拼音拼写板冲突
描述:
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]; } } }
BY-Chu