5

これについて少し調べていて、見つけ たのが 質問。そこで使用したコードを実装しましたが、何も起こりませんでした。これが私が使用している正確なコードです:

.h ファイル

#import <Cocoa/Cocoa.h>


@interface Test : NSView {

}

-(void)keyUp:(NSEvent*)event;
-(void)keyDown:(NSEvent*)event;

@end

.m ファイル

#import "Test.h"


@implementation Test

- (void)keyDown:(NSEvent*)event {
    NSLog(@"A key has been pressed");
    switch( [event keyCode] ) {
        case 126:       // up arrow
        case 125:       // down arrow
        case 124:       // right arrow
        case 123:       // left arrow
            NSLog(@"Arrow key pressed!");
            break;
        default:
            NSLog(@"Key pressed: %@", event);
            break;
    }
}

@end

なにが問題ですか?インターフェイスに追加する必要があるものはありますか?

編集:まあ、何かが実際に起こった. 私のコンピューターは私にビープ音を鳴らしました。これ以上何もない。

4

1 に答える 1

7

実装acceptsFirstResponder:

- (BOOL)acceptsFirstResponder
{
    return YES;
}

また、ビューが最初の応答者であることを確認してください (たとえば、ビュー内をクリックするなど)。

于 2011-05-16T16:57:50.427 に答える