Jus*_*tin 5 cocoa objective-c nsevent arrow-keys
我正在对此进行一些研究,我发现了 这一点 题.我实现了那里使用的代码,但什么都没发生.这是我正在使用的确切代码:
.h文件
#import <Cocoa/Cocoa.h>
@interface Test : NSView {
}
-(void)keyUp:(NSEvent*)event;
-(void)keyDown:(NSEvent*)event;
@end
Run Code Online (Sandbox Code Playgroud)
.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
Run Code Online (Sandbox Code Playgroud)
怎么了?有什么东西我必须添加到界面?
编辑:嗯,确实发生了一些事情.我的电脑对我不利.而已.
实施acceptsFirstResponder:
- (BOOL)acceptsFirstResponder
{
return YES;
}
Run Code Online (Sandbox Code Playgroud)
此外,请确保您的视图是第一响应者(例如,通过在视图内单击).