Domanda

Come posso gestire un evento in cui faccio clic sul pulsante di chiusura rossa di un nswindowcontroller?

Il motivo per chiedere è che ho un video riprodotto in una nuova finestra NSWINDOWCONTROLLER e quando l'utente fa clic sul pulsante di chiusura rossa, l'audio continua a riprodurre, quindi voglio utilizzare l'evento per chiudere il video.

È stato utile?

Soluzione

Rendere il vostro NSWindowController la sottoclasse è conforme al file NSWindowDelegate protocollo e essere il delegato della finestra corrispondente. Dopo averlo fatto, implementa:

- (void)windowWillClose:(NSNotification *)notification {
    // whichever operations are needed when the
    // window is about to be closed
}

nel tuo NSWindowController sottoclasse.

Altri suggerimenti

Nel mio caso, devo osservare l'evento, vedere https://stackoverflow.com/a/44721893/1418457

NotificationCenter.default.addObserver(self, selector: #selector(windowWillClose(_:)), name: Notification.Name.NSWindowWillClose, object: nil)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top