Ich habe eine einfache Unterklasse von NSView erstellt, aber Aufruf becomeFirstResponder
scheint keinen Effekt zu haben - das Framework ruft nicht einmal meine acceptsFirstResponder
Methode.Kann meine benutzerdefinierte NSView nicht als Ersthilfe festlegen
Wenn ich jedoch mit meiner Maus auf meine Ansicht klicke, wird es zum Ersthelfer und ich kann keyDown
Ereignisse empfangen.
Hier ist meine NSView Unterklasse:
@interface MyView : NSView
@end
@implementation MyView
- (void) keyDown: (NSEvent*) with {
NSLog(@"keyDown");
}
- (BOOL)acceptsFirstResponder {
NSLog(@"acceptsFirstResponder");
return YES;
}
- (BOOL)canBecomeKeyView {
NSLog(@"canBecomeKeyView");
return YES;
}
@end
Und hier ist, wie ich es bin Einstellung AppDelegate
in meinem up:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
NSRect frameRect = NSMakeRect(0,0,100,100);
MyView *myView = [[MyView alloc] initWithFrame:frameRect];
[_window.contentView addSubview:myView];
[myView becomeFirstResponder];
}
Was mache ich falsch?
Haben Sie die Dokumentation zu 'findFirstResponder' gelesen? – Willeke