Вот мой код:какао KeyDown событие не вызывает
#import <Cocoa/cocoa.h>
#import <AppKit/AppKit.h>
@interface OGLView: NSOpenGLView{}
@end
@implementation OGLView
- (void)keyDown:(NSEvent *)event {
NSLog(@"Hi there");//never called
}
- (BOOL)acceptsFirstResponder{return YES;}
- (BOOL)becomeFirstResponder{return YES;}
- (BOOL)resignFirstResponder{return YES;}
- (BOOL)canBecomeKeyView { return YES; }
@end
int main(int argc, char* args[]){
NSWindow *win = nil;
NSRect e = [[NSScreen mainScreen] frame];
win = [ [NSWindow alloc]
initWithContentRect: e
styleMask: NSTitledWindowMask
|NSClosableWindowMask
|NSMiniaturizableWindowMask
backing: NSBackingStoreBuffered
defer: NO ];
view =[[[OGLView alloc] initWithFrame:e]
autorelease];
[win orderFrontRegardless];
[win setReleasedWhenClosed:YES];
[win setContentView:view];
[win setInitialFirstResponder:view];
[win setNextResponder:view];
[win makeFirstResponder:view];
[win setAcceptsMouseMovedEvents:YES];
[view setNeedsDisplay:YES];
[view display];
}
ли я должен создать NSResponder subcalss? Или NSCOntroller? Как подключить эти подклассы к моему OGLView? Пожалуйста, помогите .. Я новичок в Objective-C. Также я программирую на Eclipse (не Xcode)