ios – 如何让UIKeyInput重复执行deleteBackwards调用

前端之家收集整理的这篇文章主要介绍了ios – 如何让UIKeyInput重复执行deleteBackwards调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
目前我正在使用UIKeyinput但它只发送一个delteBackward事件,即使我按住删除键很长一段时间.
当我长时间保持删除时,如何让它向我发送多个事件?

解决方法

系统键盘没有简单的方法可以自动重复.这些有两个选择:

>使用键盘上的叠加层伪造它(请参阅@ pho0的评论)
>实现自定义键盘,将其安装为视图或视图控制器的inputView,并实现支持自动重复的自定义协议.

如果您只需要删除键来自动重复,则解决方案1可以正常工作,但如果您需要所有键来自动重复覆盖代码变得像自定义键盘选项一样复杂. (叠加层需要每个键的矩形,所以为什么不只是替换底层键盘).

解决方案2涉及一定量的“前期”工作……您可以这样做的一种方法是定义键帽类(如物理键)和键盘布局类.

我已经在我已经完成的项目中实现了两个解决方案,但我目前使用解决方案2,因为我可以创建任何我喜欢的键盘.在简单的情况下,使用永远不需要知道它不是系统键盘.对于高级用户,他们可以根据需要自定义键盘.

对于它的价值,我发现让键盘类变得愚蠢是有用的;它只是传达一个密钥已经过渡到正在下降或已经过渡到正在上升.上面的另一个类决定应该采取什么行动.

在某些方面,我知道这不是你想要的答案,但我希望它有所帮助,IDZ

猜你在找的iOS相关文章