iOS UITextField,UITextView中英文混排长度检测

UITextField我们要在输入的时候检测用户输入的文字长度,当达到一定的限度的时候就限制输入了。首先我们添加一个观察。

注册观察者

在这个方法里面我们需要做一些检测,刚开始我是这样做的

这是刚开始写的

他的不足就是你的中文是50个汉字,英文也是50个字母,是不一样的,我们其实是一个汉字是相当于两个英文。下面的写法就OK了!

这样写就是OK的

其实这里有一个坑,就是string的length是和cString的length是不一样的,所以你在substringToIndex的时候要注意。

其实上面的写法也是错误的,因为是汉字模式的键盘,你的赋值操作就会出现问题,所以得加上高亮状态的的判断

还有如果你用byte来计算,一个汉字是三个,一个字母是一个。

byte计算

参考http://outofmemory.cn/code-snippet/3146/objective-c-decide-yingwen-hunhe-charaeter-length-liangzhong-method

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

推荐阅读更多精彩内容