目前我正在使用UIKeyinput但它只发送一个delteBackward事件,即使我按住删除键很长一段时间.当我长时间保持删除时,如何让它向我发送多个事件?
没有简单的方法可以让系统键盘自动重复。这给你留下了两个选择:
如果您只需要删除键来自动重复,则解决方案 1 效果很好,但如果您需要所有键来自动重复,则覆盖代码将变得与自定义键盘选项一样复杂。(覆盖层需要每个键都有一个矩形,所以为什么不直接替换底层键盘)。
解决方案 2 涉及一定量的“前期”工作...您可以执行此操作的一种方法是定义键帽类(如物理键)和键盘布局类。
我已经在我从事的项目中实现了这两种解决方案,但我目前使用解决方案 2,因为我可以创建我喜欢的任何键盘。在简单的情况下,用户永远不需要知道它不是系统键盘。对于高级用户,他们可以根据需要自定义键盘。
不管怎样,我发现让键盘类变得愚蠢很有用;它只是传达一个键已转换为按下状态或已转换为打开状态。上面的附加类决定应采取什么操作。
在某些方面,我知道这不是您正在寻找的答案,但我希望它能有所帮助,IDZ
| 归档时间: |
|
| 查看次数: |
1062 次 |
| 最近记录: |