ios - 如何在我的应用程序(Swift)中检测命令 C?

标签 ios swift uipasteboard uikeycommand

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

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

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

最佳答案

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

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

关于ios - 如何在我的应用程序(Swift)中检测命令 C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47911194/

相关文章:

iphone - "unrecognized selector sent to instance"当键盘出现时

ios - 从另一个 Controller 调用函数后,webview 变为 nil

ios - iOS 应用程序可以在后台获取 UIPasteboardChangedNotification 吗?

ios - 如何在屏幕上显示几秒钟的消息?

ios - 如果可用,将项目添加到特定 TableView 行

ios - 允许完全访问检查键盘 iOS10

swift - 如何在不进入应用程序的情况下从快速操作菜单复制到 UIPasteBoard?

ios - 如何解决 XCode 13.3 中的 SwiftPM.SPMRepositoryError 错误 3

ios - 如何在 didEnterBackground 后继续 UIImageView 动画?

ios - 游戏场景到 View Controller