当使用外接键盘时,当我按退格键(“后退删除”)时,我的UITextView
会发出shouldChangeTextInRange
消息,但是如果我按下删除(“前进删除”),那么尽管视图的文本按预期更改,但根本不会调用该方法。如果它很重要,我正在使用Swift和最新的iOS模拟器。
如果这是预期的行为,有人可以指向我解释它的文档吗?
更重要的是,有解决方法吗?
编辑:提交rdar:// 18909378。我在使用cmd + backspace和opt + backspace时也发现了相同的行为。非常讨厌!
答案 0 :(得分:0)
我仍然在iOS 10上看到此问题。我提出的最佳解决方法是收听该字段的UIControlEventEditingChanged
事件并抓住textField.text
从那里。这会为您提供更新的内容,但不允许您阻止shouldChangeCharactersInRange
之类的删除操作。