目前我使用的是UIKeyinput,但它只是发送一个单独的delteBackward事件,即使我长时间按住删除键。 当我长时间保持删除状态时,如何让它向我发送多个事件通话?我如何使UIKeyInput重复deleteBackwards调用
回答
有没有简单的方法让系统键盘自动重复。这些让你有两个选择:
- 假它通过使用键盘上的覆盖(见@ pho0评论)
- 实现自定义键盘,它安装的inputView您的视图或视图控制器实现支持自动重复的自定义协议。
如果您只需要删除键自动重复,则解决方案1可以很好地工作,但如果您需要所有键自动重复,则重叠代码将变得与自定义键盘选项一样复杂。 (覆盖层需要为每个键使用一个矩形,所以为什么不直接更换底层键盘)。
解决方案2涉及一定量的“预先”工作......您可能会这样做的一种方式是定义键帽类(如物理键)和键盘布局类。
我已经在我所从事的项目中实施了这两种解决方案,但我目前使用解决方案2,因为我可以创建任何我喜欢的键盘。在简单的情况下,使用不需要知道它不是系统键盘。对于高级用户,他们可以根据自己的需要定制键盘。
为了什么是值得的,我发现它有用的键盘类是愚蠢的;它只是表明一个密钥已经转换为关闭状态或已经转换为启动状态。另外一个班级决定应采取什么行动。
在某些方面,我知道这是不是你要找的答案,但我希望它能帮助, IDZ
你介意发布你的解决方案2代码?谢谢 –
@ tommy7xp对不起,这不是代码我可以自由发布。 – idz
我见过的一件事就是在键盘按钮上放一个假按钮。当有人按住它时,定时器会在每次触发时删除最后一个字母。
希望这会有所帮助。
- 1. 如何重复调用UITableView?
- 2. 如何重复调用NSThread?
- 3. 如何在UIWebView控件中使用UIKeyInput协议?
- 4. 重复调用使用React.js
- 5. 调用使用NG-重复
- 6. 我如何重复使用摩卡测试,所以我不必重复自己?
- 7. 如何使用NG-重复
- 8. 如何重复使用MVC
- 9. 如何重复使用block_diag
- 10. 如何重复使用CALayer
- 11. 如何重复调用线程?
- 12. 重复调用包
- 13. async.waterfall重复调用
- 14. dbo.TempGetStateItemExclusive3重复调用
- 15. 如何重新启动/重复使用重复性任务?
- 16. 使用easymock,重复void方法调用
- 17. 如何使滚动重复使用jQuery
- 18. 我将如何重构重复代码?
- 19. 当我使用shift时重复操作,列举?或调试?
- 20. IN XML调节重复使用XSLT
- 21. 使用Javascript,我该如何调用重定向的PHP脚本?
- 22. 如何在AngularJs中使用ng-repeat重复重复的对象?
- 23. Android:使用RecyclerView和CardView重复项目 - 如何停止重复?
- 24. 如何使用C#移除重复结果的重复测试?
- 25. 如果使用重复代码或者使用重复条件
- 26. 如何使CCParticleExplosion不重复?
- 27. 我如何计数重复在使用lambda的对象字段?
- 28. 我将如何得到不使用`import java.util.Random`的重复结果?
- 29. 我该如何重复使用Gstreamer中的directshow组件(windows)
- 30. 我如何使用FileSystemObject“复制和重命名”
你这个问题取得任何进展? –