MacOS:在NSMenuItem快捷键入或鼠标按下之间进行标识

时间:2017-12-20 20:32:21

标签: swift macos cocoa uikit nsmenuitem

我有适用于Mac的Spritekit游戏。它包括菜单中的NSMenuItems和普通的Mac应用程序一样。现在的事情是那个

  • 如果我用鼠标从菜单中选择一个动作,Spritekit游戏会立即开始执行,并且会遗漏一些后续动画。
  • 如果我用键盘快捷键选择相同的动作,游戏会立即开始执行,但由于没有从菜单动画切换到游戏动画的延迟,所以没有动画错过。

是否有某种方法可以确定菜单项发送的IBAction是由等效键盘还是鼠标触发?如果使用鼠标,我想为游戏动画添加一个开始延迟,并且没有等效键的延迟。

1 个答案:

答案 0 :(得分:4)

可以通过阅读NSApp.currentEvent.type来获取当前事件的类型。

有关详细信息,请参阅NSApp.currentEventNSEvent.type