UITextFiled限制
直接使用MaxLength(UITextFiled分类)即可。
问题是不支持
unicodeLength(也就是中文占2,E文跟数字占1)。微信是支持这种的。
UITextView限制
使用的是LimitTextView
对换行没做限制,另外删除回退能超过输入限制。
以unicodeLenght限制
使用shouldChangeCharactersInRange+textViewEditChanged能做限制,但是体验不够好。
注意的问题点:
默认中文输入法,高亮部分
使用UITextPosition相关API获取高亮。
自动联想选择之后
换行
emoji表情
删除
光标移动到中间编辑
Demo
稍后上传
参考博客
这些文档里说的能支持中文算一个字符英文算2个字符,基本都是忽悠人的,看来确实不好做。
有更多时间的话,要完善一下这种需求。暂时还是按照length来计算吧。