Determinar cuando un NSOpenPanel se cerrará
-
20-09-2019 - |
Pregunta
Estoy tratando de determinar cuando un NSOpenPanel está cerrando antes de que realmente se cierra. Necesito hacer esto, así que puede superponer otra ventana con una captura de pantalla del panel abierto en la parte superior de la misma para ser animada. Por desgracia, todas las notificaciones que parecen ser capaces de acceder parecen fuego después de la ventana ya se ha cerrado. Esto conduce a un tartamudeo discordante antes de empezar su transición.
He intentado:
- el uso de métodos de delegado NSWindow en el panel abierto (al parecer, ninguno de los métodos de delegado NSWindow funciona)
- Panel de monitorización: userEnteredFilename: confirmado: (no llamada)
- mostrar el diálogo con una devolución de llamada (devolución de llamada que ocurre después que el panel desaparece)
Solución 2
Otra manera de manejar esto era para mirar a través de subvistas NSOpenPanel para el botón Cancelar y cambiar a sí mismo como el de destino / acción. Esto es lo que terminé haciendo.
Otros consejos
Usted debe registrar su controlador como el delegado del panel abierto y luego poner en práctica el método -panel:isValidFilename:
delegado. Este método será llamado justo antes de cerrarse el cuadro de diálogo abierto.
Debe volver YES
del método si lo que desea es la notificación. Volviendo NO
le permite evitar que el cuadro de diálogo abierto se cierre.