我有一个用Swift编写的计算器应用程序,它与自定义键盘快捷键完全兼容。 我正在尝试在用户按 Command + C 时调用方法,但是,每当我尝试分配以下自定义快捷方式时,它就不起作用:
UIKeyCommand(input: "c", modifierFlags: [.command], action: #selector(commandCAction))
与其他快捷方式不同,永远不会调用commandCAction
方法。我认为这是由于Apple保留了此快捷方式。是否有任何观察者或方法可用于检测用户何时在物理键盘上按 Command + C ?
答案 0 :(得分:2)
UIKeyCommand
的文档说:“映射到已知系统事件的关键命令(例如剪切,复制和粘贴)会自动路由到相应的响应方法”。
您最好的方法可能是将UI元素子类化到要拦截命令的位置并实现自己的copy:
。
答案 1 :(得分:0)
我发现了这个问题,由于某些原因,这在我的模拟器上无效:
UIKeyCommand(input: "c", modifierFlags: [.command], action: #selector(commandCAction))
然而,当我尝试使用物理设备时,它确实有效!这对于与我有同样问题的人来说是一个解决方案。