输入框字符限制

UITextFiled限制

直接使用MaxLength(UITextFiled分类)即可。

问题是不支持unicodeLength(也就是中文占2,E文跟数字占1)。微信是支持这种的。

UITextView限制

使用的是LimitTextView

对换行没做限制,另外删除回退能超过输入限制。

unicodeLenght限制

使用shouldChangeCharactersInRange+textViewEditChanged能做限制,但是体验不够好。

注意的问题点:

默认中文输入法,高亮部分

使用UITextPosition相关API获取高亮。

自动联想选择之后

换行

emoji表情

删除

光标移动到中间编辑

Demo

稍后上传

参考博客

参考1
参考2
参考3
参考4

这些文档里说的能支持中文算一个字符英文算2个字符,基本都是忽悠人的,看来确实不好做。
有更多时间的话,要完善一下这种需求。暂时还是按照length来计算吧。

你可能感兴趣的:(输入框字符限制)