Come faccio a far chiudere il mio programma che NsopenPanel si chiuda?
-
27-10-2019 - |
Domanda
Come gli stati del titolo, ho bisogno di far aspettare il mio programma fino al mio NSOpenPanel
chiude. Ho il pannello aperto windowControllerWillLoadNib
in modo che accada prima che si apra la finestra del mio documento. Ma ciò che succede è che carica solo entrambe le finestre senza aspettare che il pannello si chiuda. Come posso farlo aspettare fino a quando il pannello aperto è chiuso e completamente finito?
Soluzione
Usa il metodo RunModal.
Esempio di codice:
int result;
NSOpenPanel *oPanel = [NSOpenPanel openPanel];
result = [oPanel runModalForDirectory:NSHomeDirectory() file:nil types:nil];
if (result == NSOKButton) {
//your code
}
Altri suggerimenti
Imposta il tuo pannello aperto e poi puoi fare qualcosa del genere:
if ([openPanel runModal]==NSFileHandlingPanelOKButton) {
// get the urls
NSArray *fileURLs = [openPanel URLs];
} else {
// cancel button was clicked
}
RunModal interrompe l'esecuzione del programma fino alla chiusura del pannello.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow