我想这样做,如果用户按下键盘上的“返回”键,应用程序必须做一些事情。我尝试以下方法:
- (void)keyDown: (NSEvent *) event {
if ([event keyCode] == 36) {
[self doSmthFunction];
}
}
但是当我按下“返回”时,我只听到哔声。
完整代码
KeyEventController.m
#import "KeyEventController.h"
#include "myCustomClass.h"
@implementation KeyEventController
- (void)keyDown: (NSEvent *) event {
if ([event keyCode] == 36) {
NSLog(@"log");
}
}
@end
KeyEventController.h:
#import <Cocoa/Cocoa.h>
@interface KeyEventController : NSResponder
@end
答案 0 :(得分:1)
您可能必须覆盖acceptsFirstResponder,并返回YES。此外,您可能需要在视图中(或者您已经为子类化的任何内容)单击以使其不发出蜂鸣声。我已经对此进行了测试,有时,似乎有必要做这些事情,有时候不这样做。