当使用外部键盘时,当我按退格键(“向后删除”)时,我的UITextView可以很好地触发shouldChangeTextInRange消息,但是如果我按下Delete键(“向前删除”),那么该方法就永远不会被调用,尽管视图的文本按预期发生了变化。如果重要的话,我使用的是Swift和最新的iOS模拟器。
如果这是预期的行为,有人能告诉我解释它的文档吗?
更重要的是,有没有变通办法?
编辑:提交的rdar://18909378。在使用cmd+backspace和opt+backspace时,我也发现了同样的行为。非常烦人!
发布于 2016-12-09 23:16:07
我仍然在iOS 10上看到这个问题,我想出的最好的解决办法是收听现场的UIControlEventEditingChanged事件并从那里获取textField.text。这将为您提供更新的内容,但不允许您像shouldChangeCharactersInRange那样阻止删除操作。
https://stackoverflow.com/questions/26785466
复制相似问题