Если вы используете UITextField, ваш делегат textField:shouldChangeCharactersInRange:replacementString:
будет вызываться с диапазоном длины 1 и пустой строкой замены.Однако, если ничего не удалено, вы не получите уведомления.
Если вы используете UITextView, ваш делегат textView:shouldChangeTextInRange:replacementText:
будет вызываться с диапазоном длины 1 и пустой строкой замены.Однако, если ничего не удалено, вы не получите уведомления.
Если вы используете свой собственный класс, который реализует UIKeyInput, предполагается, что будет вызван deleteBackward
.Я не знаю, может ли класс, реализующий UITextInput (который сам включает UIKeyInput), когда-либо вызывать replaceRange:withText:
или setMarkedText:selectedRange:
с диапазоном длины 1 и пустой строкой замены, или что может произойти в этих случаях, еслинечего удалять.