2009-05-07 7 views
0

Ich mache ein neues Fenster geöffnet und möchte die Methode makeKeyAndOrderFront implementieren: Für das Fenster fragte ich mich, welchen Code ich eingeben müsste, um dies zu tun.Wie implementieren Sie die Methode makeKeyAndOrderFront :?

Hier einige der Code, den ich schon habe das Fenster zu öffnen:

Datei 1 (der erste Controller)

#import "PreferenceController.h" 


@implementation PreferenceController 

- (id)init 
{ 
    if (![super initWithWindowNibName:@"Preferences"]) 
     return nil; 
    return self; 
} 
- (void)windowDidLoad 
{ 
    NSLog(@"Nib file is loaded"); 
} 

Datei 2 (Die Aktion Öffnen des Fensters)

Der Grund, warum ich das versuche, ist, dass es von einem Freund vorgeschlagen wurde, um ein Fensteröffnungsproblem zu lösen.

Antwort

2

Irgendwo nach [preferenceController showWindow:self];:

[self.window makeKeyAndOrderFront:self]; 

oder wollte man eine Methode an den Controller hinzufügen?

// you should use a different method name, cause it's not the 
// controller that is made key and ordered front. 
- (void)makeKeyAndOrderFront:(id)IBAction { 
    [self.window makeKeyAndOrderFront:self]; 
} 
+0

Meinst du nach [self.window makeKeyAndOrderFront: self]; } oder vor dem}? – Joshua

4

Sie möchten -makeKeyAndOrderFront: nicht implementieren, Sie möchten es auf Ihrem Fenster aufrufen, um es nach vorne zu bringen und es zum Schlüsselfenster zu machen. Was macht Ihre showWindow: Methode?

+0

implementieren Zeigt die Nib namens "Einstellungen". – Joshua

0

Nachricht makeKeyAndOrderFront wird erst nach Einleitung des Hauptereignisschleife [NSApp run] gesendet. Sie können versuchen, die Nachricht aus der Hauptansicht zu senden, indem Sie die Methode viewWillDraw:

Verwandte Themen