删除(不是退格键)不会触发UITextViewDelegate的shouldChangeTextInRange

时间:2014-11-06 17:17:59

标签: ios uikit uitextview uitextviewdelegate

当使用外接键盘时,当我按退格键(“后退删除”)时,我的UITextView会发出shouldChangeTextInRange消息,但是如果我按下删除(“前进删除”),那么尽管视图的文本按预期更改,但根本不会调用该方法。如果它很重要,我正在使用Swift和最新的iOS模拟器。

如果这是预期的行为,有人可以指向我解释它的文档吗?

更重要的是,有解决方法吗?

编辑:提交rdar:// 18909378。我在使用cmd + backspace和opt + backspace时也发现了相同的行为。非常讨厌!

1 个答案:

答案 0 :(得分:0)

我仍然在iOS 10上看到此问题。我提出的最佳解决方法是收听该字段的UIControlEventEditingChanged事件并抓住textField.text从那里。这会为您提供更新的内容,但不允许您阻止shouldChangeCharactersInRange之类的删除操作。