//解决复制粘贴以及中文输入法的字数限制bug
-(void)textViewDidChange:(UITextView *)textView{
//在没有候选词的时候进行截取
if(textView.markedTextRange ==nil){
// 记录光标位置
NSRange rang = textView.selectedRange;
if(textView.text.length>200){
textView.text = [textView.text substringToIndex:200];
}
//截取后还原光标位置
textView.selectedRange =rang;
[textView scrollRangeToVisible:rang];
self.labShopTextNum.text = [NSString stringWithFormat:@"%ld",textView.text.length];
}
}
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
NSInteger length =textView.text.length;
// 199个字符的时候阻止输入emoji
if(length==199){
if ([[[textView textInputMode] primaryLanguage] isEqualToString:@"emoji"] || ![[textView textInputMode] primaryLanguage]) {
if(![text isEqualToString:@""]){
return NO;
}
}
}else if(length>=200){
//防止中文输入拼音超出字数时无法输入
if(textView.markedTextRange ==nil){
if(![text isEqualToString:@""]){
return NO;
}
}
}
return YES;
}