我的程序中有一个操作,用户需要非常频繁地执行(每个 session 可能数百次),我想为使用蓝牙键盘的用户添加键盘快捷键。有什么办法可以做到这一点吗?
现在,我最接近的是每当输入 U+F8FF 字符时触发操作(Shift+Alt+k 在 iPad/iPhone/Mac 上,在 TextView 中打印 Apple Logo 字符)。当然,如果用户确实想输入苹果符号,这就会出现问题。
是否有更好的方法来支持键盘快捷键(希望是 Cmd+something,而不是 Shift+Alt+某事)?谢谢!
最佳答案
在 Mac OS X 的 Cocoa 下,您可以从传递给 NSResponder 对象中的 keyDown: 方法的 NSEvent 中收集修饰键信息。 CocoaTouch 用 UIResponder 替换 NSResponder,用 UIEvent 替换 NSEvent。 UI 版本没有记录的键盘事件支持。我猜测 Apple 已经扩展了 UIResponder 来处理 keydown 事件,但尚未公开记录这些更改。不幸的是,这意味着我们只能等待该文档才能读取修饰键。
我认为您当前的解决方案是一个很好的解决方案,直到 Apple 为我们提供支持 UIResponder 的键盘。
关于iPhone/iPad 键盘快捷键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3199635/