1

我想这样做,如果用户按下键盘上的“return”键,应用程序必须做一些事情。我尝试以下方法:

- (void)keyDown: (NSEvent *) event {
        if ([event keyCode] == 36) {  
            [self doSmthFunction];
        }
}

但是当我按“返回”时,我只听到哔声。


完整代码

关键事件控制器.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
4

1 回答 1

1

您可能必须覆盖acceptsFirstResponder,并返回YES。此外,您可能需要单击您的视图(或任何您的子类)以使其不会发出哔哔声。我已经对此进行了测试,有时似乎有必要做这些事情,有时则不需要。

于 2012-08-10T06:09:16.260 回答