【问题标题】:How to detect a Command C in my app (Swift)?如何在我的应用程序(Swift)中检测命令 C?
【发布时间】:2017-12-20 17:14:29
【问题描述】:

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

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

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

【问题讨论】:

    标签: ios swift uipasteboard uikeycommand


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2011-12-25
        • 2016-03-05
        • 1970-01-01
        • 1970-01-01
        • 2020-06-13
        • 2016-03-21
        • 2015-09-29
        • 2014-07-17
        • 1970-01-01
        相关资源
        最近更新 更多