2011-04-15 12 views
5

Quiero crear una NSWindow personalizada que actúe como un cuadro de diálogo modal. Por costumbre me refiero a que tiene controles de usuario normales en la ventana, con los botones "Aceptar" y "Cancelar". El cuadro de diálogo contendrá información de solo lectura, y tendrá algunas casillas de verificación, campos de edición segura, etc.¿Cómo creo una NSWindow modal personalizada?

El archivo MainMenu.xib tendrá la Ventana normal visible al inicio, además de incluir la ventana NSWindow personalizada (que NO es visible en el lanzamiento)

Estoy tratando de encontrar un código de ejemplo para abrir la ventana en modo modal (después de que la aplicación se inicialice y lance la ventana principal), y en "OK" ejecutar un proceso, y en el éxito de ese proceso ocultar el cuadro de diálogo. O si falla, mantenga el diálogo en alto, pero muestre una hoja de error en el diálogo.

Se agradece cualquier ayuda, gracias.

+0

Respondido aquí: http://stackoverflow.com/questions/8277295/creating-a-fully-customized-nsalert – cSquirrel

Respuesta

4

Quiere ver NSApplication 's -runModalForWindow: y/o -runModalSession: métodos. Tenga en cuenta que el uso de ventanas modales generalmente es una mala idea y, si es posible evitarlo, debería hacerlo; dicho eso, a veces es necesario.

En cuanto a iniciar un proceso, esperar que termine, etc., probablemente pueda hacer lo que necesite con NSTask, aunque no proporciona suficientes detalles para estar seguro. Probablemente desee observar NSTaskDidTerminateNotification para informarle cuándo finalizó la tarea.

Ver

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/OperatingSystem/OperatingSystem.html

para más información sobre NSTask y

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/WinPanel/Concepts/UsingModalWindows.html%23//apple_ref/doc/uid/20000223-CJBEADBA

para más información sobre el uso de modos de transporte NSWindow.

Cuestiones relacionadas