8 Stimmen

Modale Sitzung erfordert Fehler bei modalem Fenster auf Mac

Ich muss ein modales Fenster über ein Plugin in einer Videoanwendung starten. Ich habe eine Nib in Interface Builder zusammen mit einer NSWindowController-Klasse erstellt. Aber wenn ich versuche, das Fenster wie folgt zu starten

Registration* newWin = [[Registration alloc] initWithWindowNibName:@"Options"];

[NSApp runModalForWindow: [newWin window]];

Ich erhalte eine Fehlermeldung in der Konsole: Modal Session requires Modal Window Ich denke, es hat etwas mit Interface Builder zu tun (Verzeihung, ich bin wirklich neu in IB).

Hier ist der Link zur Nib-Datei und zu den Classes. Ich würde es begrüßen, wenn mir jemand sagen könnte, was ich in IB falsch gemacht habe. Danke!

[Link entfernt]

17voto

Yuji Punkte 33823

Sie instanzierten eine Instanz von Registration in der nib-Datei. Das ist nicht die Art und Weise, wie Sie eine Nib-Datei für die Verwendung mit einer NSWindowController . Diese Registration Objekt ist ein eigenständiges Objekt, das in der nib-Datei enthalten ist, nicht die Registration Objekt, das Sie in dem oben zitierten Code zugewiesen haben.

In der Schreibfeder, die an initWithWindowNibName die File's Owner ist die NSWindowController Instanz, die Sie im Code erstellen. Setzen Sie also im Inspektor den Klassennamen der Instanz File's Owner zu sein Registration und verbinden seine window zu Ihrem Fensterobjekt innerhalb der nib-Datei.

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