私はUITextViewを持っており、すべてのテキストビューの変更イベントを配列に記録しています。UITextViewデリゲートメソッドtextView:shouldChangeTextInRange:replacementText:高速削除時に誤ったreplacementTextを返します
textView:shouldChangeTextInRange:replacementTextメソッドが呼び出されたときにユーザーが高速削除(削除キーを押したまま1単語だけで削除されるようにする)の場合、範囲変数の長さは1実際には、範囲は単語内で削除された文字の数でなければなりません。誰でもこのApple Bugの回避策を知っていますので、UITextViewで変更された場所と範囲とテキストを正しく識別できますか?
私は、画面上のデバイスのキーボードでバックスペースキーを押していますが。この関数は、テキストビューが変更されるたびに呼び出され、正しいものとなります。しかし、ユーザーが速く削除していて、単語全体が削除されると、一度呼び出されますが、range.lengthは1だけです。速い削除で単語全体を削除すると、shouldChangeTextInRangeメソッドは一度に削除された単語全体で削除された文字ごとに複数回呼び出されますか? – cncool