在Mac版UIKit(Catalyst)中检测单个修改键更改

时间:2019-09-26 19:35:19

标签: ios swift macos uikitformac maccatalyst

我正在使用 UIKit for Mac (也称为 iPad Apps for Mac Project Catalyst )在MacOS上移植iOS应用。

>

该应用使用keyCommands from UIKit来检测单个修改键按下:

UIKeyCommand(input: "", modifierFlags: .shift, action: #selector(singleShift))

此代码可在带有外部键盘的iPad上完美运行,每按一次I键都会触发该事件。但是,这在MacOS上不起作用,尽管单个非修饰符事件和修饰符+非修饰符组合起作用。

如何实现所需的行为并获得有关单个修改键事件的通知?

或者也许我应该放弃UIKeyCommand,而尝试UIGestureRecognizer

1 个答案:

答案 0 :(得分:1)

这可能不是您的问题,请确保您没有任何正在运行的键盘应用程序或拦截键盘输入的应用程序。安装Karibeaner元素时遇到这样的问题。

否则,如果这是催化剂的局限性,请考虑从应用工具包中包装more stable API或使用UIGestureRecognizer