我正在尝试为 UITextView 实现字符计数器,但发现计数器在以下情况下不准确:
我在这种情况下输出了计数器和replacementText的结果,最后的输出如下:
2009-08-06 15:29:14.357 字符数:3
2009-08-06 15:29:14.369
因此,当以这种方式大量删除大量换行符(可能还有大部分文本)时, textView:shouldChangeTextInRange:replacementText: 不会在该序列的末尾触发,需要添加删除按钮。
我的计数器代码如下:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
NSString* nextText = [textView.text stringByReplacingCharactersInRange:range withString:text];
int characterCount = [nextText length];
关于如何克服这个问题的任何想法,以便在这种情况下计数是正确的(或者我可能做错了什么)?
最佳答案
我仍然不知道 textView:shouldChangeTextInRange:replacementText: 没有被调用的问题,但我刚刚发现将我的计数器代码放在 textViewDidChange: (这是该代码更合乎逻辑的地方)按预期工作。
关于iphone - UITextView textView :shouldChangeTextInRange:replacementText: doesn't fire when deleting large portions of text?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1245336/