如何检测ios数字键盘删除按下
有人知道如何检测 ios 中数字键盘上的删除按下吗?
dose anyone know how to detect a delete press from a numberpad in ios?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有人知道如何检测 ios 中数字键盘上的删除按下吗?
dose anyone know how to detect a delete press from a numberpad in ios?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
如果您使用 UITextField,您的委托的
textField:shouldChangeCharactersInRange:replacementString:
将使用长度为 1 的范围和空替换字符串进行调用。但是,如果没有删除任何内容,您将不会收到任何通知。如果您使用的是 UITextView,您的委托的
textView:shouldChangeTextInRange:replacementText:
将使用长度为 1 的范围和空的替换字符串进行调用。但是,如果没有删除任何内容,您将不会收到任何通知。如果您使用自己的实现 UIKeyInput 的类,则应该调用
deleteBackward
。我不知道实现 UITextInput (其本身包括 UIKeyInput)的类是否可能会调用replaceRange:withText:
或setMarkedText:selectedRange:
,而不使用长度为 1 的范围和一个空的替换字符串,或者如果没有任何内容可删除,在这些情况下可能会发生什么。If you're using a UITextField, your delegate's
textField:shouldChangeCharactersInRange:replacementString:
will be called with a range of length 1 and an empty replacement string. If nothing is deleted, however, you will get no notification.If you're using a UITextView, your delegate's
textView:shouldChangeTextInRange:replacementText:
will be called with a range of length 1 and an empty replacement string. If nothing is deleted, however, you will get no notification.If you're using your own class that implements UIKeyInput,
deleteBackward
is supposed to be called. I don't know whether a class implementing UITextInput (which itself includes UIKeyInput) might ever havereplaceRange:withText:
orsetMarkedText:selectedRange:
called instead with a range of length 1 and an empty replacement string, or what might happen in those cases if there is nothing to delete.如果您正在实现密码之类的东西,我认为隐藏的文本字段会更好,并且有更多的控件。
If you are implementing something like a passcode, I think a hidden textfield would be preferable, and more controls.