原先期间写过UITextView限制输入字数 。
这个写的有一些复杂。
看很多人留言,我现在换一个解决问题的思路,来告诉大家。实现起来 更加方便。。
首先我们准备一个测试字符串:
测试文案
NSString *testStr = @"我是中文 wo shi A~Z 我是🤗🤗🤗🤗 莹北__㤫"
枚举代码
[testStr enumerateSubstringsInRange:NSMakeRange(0, testStr.length) options:NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString * _Nullable substring, NSRange substringRange, NSRange enclosingRange, BOOL * _Nonnull stop) {
NSLog(@"%@ \t%zd", substring, strlen([substring UTF8String]));
}];
执行结果
把字符串这个拆解出来,看打印结果:
结果
看结果其实很方便的看出来,中文和英文,以及emoji
的边界问题。
其实在这里,就会有很好的扩展性了,在UITextField
以及UITextView
等等的 文本输入控件的对应事件中处理。
Emoji结语:
在苹果API
中subString
中也有处理Emoji
我这里也不做过多的解释了,看API
也有很明了了我就直接上图了:
结语:
本人写博客能力一般,大家凑合的看 哈
网友评论