我正在使用UIKitfor Mac在MacOS上移植iOS应用程序,也称为iPad Apps for Mac或Project Catalyst。
该应用程序使用来自UIKit
keyCommands
来检测单个修饰键按下:
UIKeyCommand(input: "", modifierFlags: .shift, action: #selector(singleShift))
这段代码在带有外部键盘的 iPad 上完美运行,我每次按一下 ⇧ 都会触发事件。但是,这在 MacOS 上不起作用,尽管单个非修饰符事件和修饰符 + 非修饰符组合有效。
如何实现所需的行为并获得有关单个修饰键事件的通知?
或者也许我应该放弃UIKeyCommand
并尝试UIGestureRecognizer
?
这可能不是你的问题,请确保你没有任何键盘应用或拦截键盘输入的应用正在运行。当我安装卡里巴纳元件时,我遇到了这样的问题。
否则,如果这是催化剂的限制,请考虑从应用程序工具包包装更稳定的 API 或使用UIGestureRecognizer
。