Frage

Ich habe ein wenig darüber recherchiert und es gefundenDas Frage.Ich habe den dort verwendeten Code implementiert, aber es ist nichts passiert.Hier ist der genaue Code, den ich verwende:

.h-Datei

#import <Cocoa/Cocoa.h>


@interface Test : NSView {

}

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

@end

.m-Datei

#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

Was ist falsch?Muss ich der Schnittstelle etwas hinzufügen?

BEARBEITEN:Nun ja, tatsächlich etwas tat passieren.Mein Computer piepste mich an.Nichts mehr.

War es hilfreich?

Lösung

Implementieren acceptsFirstResponder:

- (BOOL)acceptsFirstResponder
{
    return YES;
}

Stellen Sie außerdem sicher, dass Ihre Ansicht Ersthelfer ist (z. B.durch Klicken in die Ansicht).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top