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