解决textview要求限制最大输入字数时 输入中文、moji出现异常的解决方案

// 添加通知

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldEditChanged:)

name:@"UITextViewTextDidChangeNotification" object:self.textv];



// 解决中文  第三方键盘  输入moji表情问题

-(void)textFieldEditChanged:(NSNotification *)obj

{

UITextView *textField = (UITextView *)obj.object;

NSString *toBeString = textField.text;

//获取高亮部分

UITextRange *selectedRange = [textField markedTextRange];

UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:0];

// 没有高亮选择的字,则对已输入的文字进行字数统计和限制

if (!position)

{

if (toBeString.length > MAXLENGTH)

{

NSRange rangeIndex = [toBeString rangeOfComposedCharacterSequenceAtIndex:5];

if (rangeIndex.length == 1)

{

textField.text = [toBeString substringToIndex:MAXLENGTH];

}

else

{

NSRange rangeRange = [toBeString rangeOfComposedCharacterSequencesForRange:NSMakeRange(0, MAXLENGTH)];

textField.text = [toBeString substringWithRange:rangeRange];

}

}


}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容