Используя клавиши со стрелками в какао? - PullRequest
5 голосов
/ 16 мая 2011

Я немного исследовал это и обнаружил, это вопрос. Я реализовал код, используемый там, но ничего не произошло. Вот точный код, который я использую:

.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

Что не так? Есть ли что-то, что я должен добавить в интерфейс?

РЕДАКТИРОВАТЬ: Ну, что-то на самом деле произошло. Я мой компьютер пискнул на меня. Ничего больше.

1 Ответ

7 голосов
/ 16 мая 2011

Реализация acceptsFirstResponder:

- (BOOL)acceptsFirstResponder
{
    return YES;
}

Кроме того, убедитесь, что ваш вид является первым респондентом (например, нажав внутри представления).

...