有些时候会有控制输入框文字长度的需求,记录一个简单的思路。
1 | - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { |
有两个坑注意下:
- emoji是
composed character
,它是由多个字符组合,长度不是1。最开始用的substringToIndex
会导致最后一个emoji乱码。 - 计算长度的时候要去掉中文输入的时候高亮部分