macos - KeyDown 不起作用

标签 macos cocoa keydown

我试图通过按下来执行特定操作,例如空格键(任何地方)。在我的代码中,我有 AcceptFirstResponder 方法和 keyDown 方法,但我没有收到 NSLog 消息

代码如下:

- (BOOL)acceptsFirstResponder
{
return YES;
}
- (void)keyDown:(NSEvent *)theEvent {
NSLog(@"test");
}

最佳答案

您需要将 -keyDown: 方法放在 NSView 子类上,并且该 NSView 子类必须放在一个窗口中,并且该窗口必须在屏幕上,并且您必须在点击之前单击您的 View 关键。然后 key 就会转到您的 View 中。

查看图表“关键事件的路径”on this page .

关于macos - KeyDown 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21205011/

相关文章:

javascript - 如何在 jQuery 中第二次按相同键时禁用该键?

c# - 在面板中创建 KeyDown 事件时遇到问题

ios - 如果按下 UIButton,手势不会触发

cocoa - 如何获取 Mac 系统图标(如在 Finder 中)?

objective-c - 编译/运行在 10.7.x 中实现 NSSharingServicePicker 的 Cocoa 项目

c++ - ICU ustdio.h 函数 : Undefined symbols on Mac OS when building with CMake

cocoa - 一键发送多个操作?

c# - DataGridView keydown 事件在 C# 中不起作用

macos - Hadoop 3.3.0 : RPC response has invalid length

macos - 如何在 Applescript 中调用 Automator 变量?