0

我有一个用 Swift 编写的计算器应用程序,它与自定义键盘快捷键完全兼容。我正在尝试在用户按下Command + C时调用一个方法,但是,每当我尝试分配以下自定义快捷方式时,它都不起作用:

UIKeyCommand(input: "c", modifierFlags: [.command], action: #selector(commandCAction))

与其他快捷方式不同,该commandCAction方法永远不会被调用。我认为这是由于 Apple 保留了此快捷方式。是否有任何观察者或方法可以用来检测用户何时在物理键盘上按下Command + C ?

4

2 回答 2

2

文档UIKeyCommand说:“映射到已知系统事件(如剪切、复制和粘贴)的关键命令会自动路由到适当的响应者方法”。

您最好的方法可能是将要拦截命令并实现自己的 UI 元素的子类化copy:

于 2017-12-20T18:24:56.307 回答
0

我发现了这个问题,由于某种原因,这在我的模拟器上不起作用:

UIKeyCommand(input: "c", modifierFlags: [.command], action: #selector(commandCAction))

但是,当我在物理设备上尝试时,它起作用了!所以对于和我有同样问题的人来说,这是一个解决方案。

于 2017-12-20T21:32:26.617 回答