1

ユーザーがキーボードの「return」キーを押すと、アプリが何かをしなければならないようにしたいと思います。私は次のことを試します:

- (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
4

1 に答える 1

1

acceptFirstResponder をオーバーライドして、YES を返す必要がある場合があります。また、ビープ音を鳴らさないようにするには、ビュー (またはサブクラス化したもの) をクリックする必要がある場合があります。私はこれをテストしましたが、これらのことを行う必要があるように見える場合もあれば、そうでない場合もあります。

于 2012-08-10T06:09:16.260 に答える