2010-01-14 2 views
7

Insbesondere möchte ich ein neues NSWindow in IB in MainMenu.xib erstellen, aber ich möchte nicht, dass es geöffnet wird, wenn die Anwendung gestartet wird. Ich habe versucht, schließen: und OrderOut: in beiden init und wakeFromNib Methoden meiner NSWindowController-Klasse, aber es flackert für eine Sekunde vor dem Schließen.In Cocoa, wie verstecken Sie ein Fenster, wenn die Anwendung gestartet wird?

Antwort

14

Dies wird durch das Kontrollkästchen "Sichtbar zum Startzeitpunkt" im Fensterinspektor im Interface Builder gesteuert.

Siehe: The Nib Object Life Cycle.

6

Open Window Attribute in IB und deaktivieren Sie "Visible beim Start"

+1

Verdammt, ich dachte, dass ich versucht hatte, dass, wobei dachte, ich meine, ich auf jeden Fall sah es und es wird geprüft, möglicherweise mehr als einmal. Vielleicht hatte ich zu der Zeit etwas anderes vor. – zekel

1

einfach die "beim Start Visible" Option deaktivieren.

2

offen IB und deaktivieren Sie „Visible beim Start“

Verwenden Sie dann den folgenden Code, um es zu zeigen:

[window makeKeyAndOrderFront:self] 
4

Wenn mit Storyboards wie mir zu arbeiten, sollten Sie auch die "Is initial Controller" Uncheck Kontrollkästchen auf der Registerkarte "Window Controller Attributes". Weil dieses Kontrollkästchen bewirkt, dass das Fenster immer angezeigt wird und ignoriert die "Visible at launch" Checkbox.

Window Controller Attributes

Verwandte Themen