Modale Fenster in Cocoa
Ich versuche, erstellen Sie eine benutzerdefinierte modales Fenster, und hier ist der code, den ich bisher:
NSWindowController *modalSheet = [[NSWindowController alloc]
initWithWindowNibName:@"MyCustomWindow" owner:self];
[NSApp beginSheet:[modalSheet window]
modalForWindow:[self windowForSheet]
modalDelegate:nil
didEndSelector:nil
contextInfo:nil];
Das Fenster erscheint, in Ordnung, aber es ist nicht modal, z.B. kann man noch Dinge tun, um das übergeordnete Fenster, wo die Anfragen kommen. Diese Methode wird aufgerufen, aus einer NSDocument-Objekt.
Habe ich versucht zu Lesen: Mit Benutzerdefinierten Bettwäsche
Aber ich bin mir nicht sicher, was myCustomSheet
ist, da es nicht deklariert ist überall. Ich nehme an, es ist ein NSWindow
Instanz-variable.
Ich kann einfach nicht verstehen, warum Sie es nicht-modal. Jede Hilfe wäre sehr geschätzt werden. Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hoffe, das hilft.
Um laufen Ihre controller-Fenster immer modal. Erstellen Sie Ihre eigene Unterklasse von NSWindowController und fügen Sie diese beiden Methoden.
Einen Abschnitt gibt, der von Apple ' s Fenster Programmzeitschrift, die speziell auf die Mit Modal Windows, die Ihnen sagt, so ziemlich alles, was Sie benötigen sollten.
Haben Sie durch Zufall bekam
worksWhenModal
eingestelltYES
? Dies würde dazu führen genau das Verhalten, die Sie beschreiben, da das der Zweck davon ist.Hinsichtlich Verpackung die Systemsteuerung (verwenden Sie eine NSPanel, richtig?) in einem eigenen Fenster, controller, brauchen Sie nicht zu. Ich eigentlich nur meine Blätter ohne Fenster controller. Haben Sie eine eigene Logik in die controller-Fenster, die Sie benötigen? AppKit Griffe für Sie.
NSWindowController
. So habe ich, um herauszufinden, wie man eine xib-Datei geladen durchNSBundle
in eineNSWindow
.