在做一个基本的输入框时,需求限制20字,到达20字之后无法继续输入,虽然是简单子字符限制,但也在开发过程中踩了好几个坑,最后总结了一个完美的字符限制方案,可以应对各种边界输入的情况
1 | NotificationCenter.default.rx.notification(NSNotification.Name(rawValue: |
- 使用RxSwift监听
UITextFieldTextDidChangeNotification
,每次文本变化时接收回调 - markedTextRange:防止最后一个字需要输入汉字时,用拼音只能输入一个字母的情况
- rangeOfComposedCharacterSequences:防止最后一个字符为Emoji被截断的问题