Como señalaron otros, usar el método applicationShouldHandleReopen
para volver a abrir ventanas cerradas en aplicaciones que no son de documentos es la manera correcta. El único cambio que deseo agregar es una forma más flexible de verificar qué ventana debe volver a mostrarse, al recorrer la lista de NSApplication
visible e invisible de .windows
y verificar la ventana requerida.
func applicationShouldHandleReopen(_ sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool {
if flag == false {
for window in sender.windows {
if (window.delegate?.isKind(of: WelcomeWindowController.self)) == true {
window.makeKeyAndOrderFront(self)
}
}
}
return true
}
Apéndice
a) Si la ventana estaba oculto a continuación, se mostró de forma automática cuando el usuario hará clic en el icono del muelle de aplicación, por lo hay necesidad de implementar applicationShouldHandleReopen
método.
b) Controlado "Liberar cuando está cerrado" La opción no afecta de ninguna manera al comportamiento anterior.
Esto sucede automáticamente. ¿Puedes ser mas específico? –