¿Cómo puedo abrir una NSWindow y tener la ventana seleccionada y en el enfoque?
-
26-09-2019 - |
Pregunta
Estoy intentando abrir un NSWindow usando el siguiente código:
NSWindowController *window = [[NSWindowController alloc] initWithWindowNibName:@"MainWindow"];
[window showWindow:nil];
Se abre la ventana está bien, pero la ventana anterior sigue siendo el mainWindow y en el enfoque. He probado el código siguiente para forzar la ventana principal y no funciona. La ventana todavía tiene una barra de título desactivado y no está aceptando eventos clave, etc.
[self.window makeKeyAndOrderFront:self];
[self.window makeMainWindow];
La única manera que parecen ser capaces de obtener la ventana anterior para perder el foco es si cierro la ventana después de llamar SHOWWINDOW: con [[NSApp mainWindow] cerrar];
¿Alguna idea?
Solución
makeKeyAndOrderFront:
es el camino a seguir. ¿Estas seguro que self.window
y window
se refieren al mismo objeto?
Otros consejos
I resuelva el problema asignando el WindowController a la punta propietario del archivo, en lugar de tener un objeto NSWindowController separada dentro de la punta.