如何检测ios数字键盘删除按下

发布于 2024-11-04 15:37:18 字数 33 浏览 0 评论 0原文

有人知道如何检测 ios 中数字键盘上的删除按下吗?

dose anyone know how to detect a delete press from a numberpad in ios?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苦妄 2024-11-11 15:37:18

如果您使用 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 have replaceRange:withText: or setMarkedText: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.

吻泪 2024-11-11 15:37:18

如果您正在实现密码之类的东西,我认为隐藏的文本字段会更好,并且有更多的控件。

If you are implementing something like a passcode, I think a hidden textfield would be preferable, and more controls.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文