Tengo un NIB que contiene dos ventanas, una es la ventana principal de la aplicación visible en el lanzamiento y la otra es una hoja personalizada (y, por lo tanto, no está visible en el inicio). Cuando se requiere la hoja de mis llamadas controlador:¿Por qué no está adjuntada mi hoja a la ventana para la que se ejecuta?
[NSApp beginSheet: sheetWindow modalForWindow: mainWindow modalDelegate: self didEndSelector: @selector(didEndSheet:returnCode:contextInfo:) contextInfo: nil];
que muestra la ventana de la hoja y se inicia una sesión de modal, pero la ventana tiene una barra de título estándar de la aguamarina, no está 'conectado' a la ventana principal y se puede mover como una ventana normal. No hace falta decir que esto no es deseable :-). ¿Por qué la ventana de la hoja no aparece en la ventana en la que se ejecuta, como suelen hacerlo las hojas cuando se comienza de esta manera?
Me he preguntado si el hecho de que estaba comenzando la hoja dentro del controlador -awakeFromNib
podría tener un efecto, así que moví la hoja a la acción de un botón que podría disparar más tarde. Esto no cambió el comportamiento. No he pensado en otra cosa para probar. Me estoy enfocando en el 10.5 SDK, usando Xcode 3.1.
Editar: por lo que parece que he creado un diálogo modal; las hojas y los diálogos de la aplicación modal se inician con el método -beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:
. ¿Pero cómo indico que mi ventana debe ser una hoja y no un diálogo modal?
Compruebe que mainWindow no sea nulo. –
No veo nada malo al respecto, tal vez algún contexto podría ayudar. –
Deberías hacer una respuesta, Nathan. Es casi seguro cierto. – Chuck