Tengo una NSWindow que he definido en el interface builder. Quiero hacer que cuando el usuario hace clic en un botón, se abre una nueva instancia en la que se NSWindow. Tengo a la subclase NSWindow o algo?

OriginalEl autor Sam Lee | 2009-01-13

2 Comentarios

  1. 22

    Si ha creado la ventana en IB y en su principal archivo nib, usted puede crear una «nueva instancia» cada vez que pulse un botón. Cuando se crea un objeto en el archivo nib, un ejemplo es en realidad creado por IB y se archivan en el archivo nib, por lo que llegar a esa instancia. Asumiendo que su ventana está conectado a una variable denominada auxWindow en el mismo objeto que responde a su botón de clic, y el mensaje de acción se denomina buttonClick, se podría hacer algo como esto para mostrar que:

    -(IBAction)buttonClick:(id)sender {
        if(! [auxWindow isVisible] )
            [auxWindow makeKeyAndOrderFront:sender];
    }

    Esto hará que el auxiliar de la ventana que se define en el IB a aparecer en la pantalla y se convierten en la clave de la ventana y de la ventana principal de la aplicación). Tenga en cuenta, sin embargo, que si desea volver a utilizar esta ventana, usted debe desactiva la casilla en el IB Inspector que dice la Liberación de Cerca de, de lo contrario obtendrá una infracción de acceso la próxima vez que haga clic en el botón.

    Esta es una simple respuesta a su pregunta básica, pero la ventana de programación, puede ser muy complicado y generalmente muy específica (por ejemplo, ¿de verdad quieres un panel para lo que estás haciendo?)… así que le recomiendo que lea el La Ventana De La Guía De Programación para obtener más información sobre este tema y, a continuación, preguntas muy específicas aquí cuando te quedas atascado.

    Upvoted para mencionar el Lanzamiento de la opción de Cerrar!

    OriginalEl autor Jason Coco

  2. 4

    Poner la ventana en su propio archivo nib, a continuación, cargar el archivo nib cada momento. Usted debe utilizar NSWindowController para la carga de la punta, como NSDocument.

    OriginalEl autor Peter Hosey

Dejar respuesta

Please enter your comment!
Please enter your name here