Wie kann ich mein Programm warten, bis Nsoopenpanel geschlossen wird?
-
27-10-2019 - |
Frage
Wie der Titel sagt, muss ich mein Programm warten lassen, bis ich meine NSOpenPanel
schließt. Ich habe das Panel offen in windowControllerWillLoadNib
so dass es passiert, bevor mein Dokumentfenster geöffnet wird. Aber was passiert, ist, dass es nur beide Fenster lädt, ohne darauf zu warten, dass das Panel schließt. Wie kann ich es warten lassen, bis die offene Platte geschlossen und komplett fertig ist?
Lösung
Verwenden Sie die Runmodal -Methode.
Codebeispiel:
int result;
NSOpenPanel *oPanel = [NSOpenPanel openPanel];
result = [oPanel runModalForDirectory:NSHomeDirectory() file:nil types:nil];
if (result == NSOKButton) {
//your code
}
Andere Tipps
Richten Sie Ihr offenes Panel ein und dann können Sie so etwas tun:
if ([openPanel runModal]==NSFileHandlingPanelOKButton) {
// get the urls
NSArray *fileURLs = [openPanel URLs];
} else {
// cancel button was clicked
}
Runmodal stoppt die Ausführung Ihres Programms, bis das Panel schließt.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow