4
我想實現的一個UITextView字符計數器,但發現櫃檯在以下情況不準確的:UITextView textView:shouldChangeTextInRange:replacementText:在刪除大部分文本時不會觸發?
- 輸入文本的幾個字符,如「」
- 點擊返回25次
- 按住刪除按鈕刪除文本(並按住它直到光標到達頂部)
- 當光標到達頂部時(並且在刪除「The」之後),計數器仍然會說UITextView包含3個字符
- Tap刪除按鈕一次有計數改正,說有0個字符
我輸出的計數器在這種情況下的結果和replacementText和最後的輸出如下:
2009-08-06 15:29:14.357特徵:3
2009-08-06 15:29:14.369
因此,看起來當大量的換行符(也許大部分文本)以這種方式被一起刪除,textView:shouldChangeTextInRange:replacementText:在該序列結束時不被觸發,requiri刪除按鈕的添加點擊。
我的計數器代碼如下:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
NSString* nextText = [textView.text stringByReplacingCharactersInRange:range withString:text];
int characterCount = [nextText length];
如何克服這一因此計數是正確的在這種情況下(或者我可能是錯的做)任何想法?
我認爲這不是一個合適的決議。它不提供原始方法所具有的複雜性。 – gamma 2011-08-02 12:58:19