В приведенном ниже коде я инициализирую NSViewController
[NSResponder] с NSWindow
, NSOpenGLView
, представляя представление и пытаясь установить NSViewController
в качестве первого ответчика Windows.
Это не работает. Я ожидал, что смогу достичь точки останова в методах keyUp:
и keyDown:
также ниже, но ничего не происходит.
Я что-то упускаю?
-(void)initwithFrame:(CGRect)frame
{
window = [[MyNSWindow alloc] initWithContentRect:frame styleMask:NSClosableWindowMask | NSTitledWindowMask backing:NSBackingStoreBuffered defer: YES ];
OpenGLView* glView = [[[OpenGLView alloc] initWithFrame:window.frame] autorelease];
window.contentView = glView;
[window makeFirstResponder:self];
[window makeKeyWindow];
[window display];
}
-(void)keyDown:(NSEvent*)theEvent
{
unichar unicodeKey = [ [ theEvent characters ] characterAtIndex:0 ];
unicodeKey = 0;
}
-(void)keyUp:(NSEvent *)theEvent
{
unichar unicodeKey = [ [ theEvent characters ] characterAtIndex:0 ];
unicodeKey = 0;
}