4 Stimmen

Problem mit dem Einstellungsfenster (einmal geöffnet und geschlossen, lässt es sich nicht mehr öffnen)

Das Problem, das ich habe, ist, dass sich das Einstellungsfenster nicht wieder öffnet, wenn es geöffnet und dann geschlossen wird. Warum passiert das, und wie kann das behoben werden?

EDIT: Ich habe gerade festgestellt, dass ich das gleiche Problem mit dem Hauptfenster habe.

Das Fenster wird über die Menüleiste geöffnet und befindet sich in einer separaten NIB-Datei.

1 Stimmen

Sie müssen mehr Informationen zur Verfügung stellen. Wie wird das Fenster geöffnet? Wird es beim Schließen freigegeben? Befindet es sich in seiner eigenen Feder?

1 Stimmen

Ich brauche noch mehr Informationen. Welche Aktion wird von dem Menüpunkt aufgerufen? Ist Ihre Antwortkette intakt, oder machen Sie etwas Seltsames mit ihr? Machen Sie etwas mit der Speicherverwaltung in Bezug auf Windows falsch? Haben Sie benutzerdefinierte Fenster-Controller? Wenn Sie sagen, dass Sie das gleiche Problem mit dem Hauptfenster haben, was bedeutet das? Wenn Sie das Hauptfenster schließen und es sich nicht wieder öffnet, was erwarten Sie dann? Haben Sie einen Fenster-Controller für Ihr Einstellungsfenster, wenn ja, wie sieht er aus? Ich kann so weitermachen, bitte geben Sie einige nützliche Informationen, wenn Sie eine brauchbare Antwort wollen.

0 Stimmen

Im Grunde ist es nur ein normales Fenster, nichts Ungewöhnliches. Der Menüpunkt ruft eine Aktion auf, um das Einstellungsfenster anzuzeigen. Der Code, den ich dafür verwendet habe, stammt aus dem Buch "Cocoa Programming for Mac OS X".

8voto

Douglas Patriarche Punkte 316

Es hört sich so an, als hätten Sie vergessen, den "Window"-Ausgang Ihres Window-Controllers (in der Nib, dem Dateieigentümer) so einzustellen, dass er auf Ihr Fenster zeigt. Sobald Sie den "window"-Ausgang verbinden, wird die showWindow:-Methode des Window-Controllers funktionieren.

3voto

smorgan Punkte 18190

Schwer zu sagen, ohne den Code zu sehen, aber eine Möglichkeit ist, dass Sie "Release When Closed" für das Fenster in Interface Builder aktiviert haben, und Sie laden es einmal, zwischenspeichern es, dann erwarten, um in der Lage zu sein, zu schließen und öffnen Sie es ohne Laden von der Feder wieder.

0 Stimmen

Ich habe das Kontrollkästchen "Freigeben, wenn geschlossen" deaktiviert, aber es hat sich nichts geändert.

2voto

Drew Punkte 21

Für alle anderen Neulinge wie mich, die dieses Problem haben :)

Vergessen Sie nicht, die Besitzerklasse der Datei auf die gleiche Klasse wie die Controllerklasse zu setzen, dann können Sie den Ausgang "window" mit dem Panel verbinden.

1voto

VancouverDoug Punkte 11

Auf das gleiche Problem stieß ich bei der Arbeit an der Übung zu Kapitel 12 (Nib-Dateien und NSWindowController) in Aaron Hillegass' Buch Cocoa Programming for Mac OS X. Dougs obige Antwort war die Lösung - ich hatte den Fensterausgang des Dateieigentümers der Preferences.xib nicht mit dem Fenster selbst verknüpft (in diesem Fall das Fenster Panel (Preferences)).

Ich habe mit der rechten Maustaste auf den "Dateieigentümer" in der Datei Preferences.xib geklickt und dann mit der linken Maustaste vom Fensterauslass zum Panel (Preferences) gezogen. Danach funktionierte die Anwendung wieder wie gewünscht. Ich konnte das benutzerdefinierte Einstellungsfenster schließen und wieder öffnen und meine vorherigen Einstellungen waren immer noch da (da das Einstellungsfenster nicht entladen, sondern nur ausgeblendet wurde).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X