Objective-c – How to open an NSWindow and have the window selected and in focus

cocoamacosnswindownswindowcontrollerobjective c

I am trying to open a NSWindow using the following code:

NSWindowController *window = [[NSWindowController alloc] initWithWindowNibName:@"MainWindow"];
[window showWindow:nil];

The window opens okay but the previous window is still the mainWindow and in focus. I have tried the following code to force the main window and it doesn't work. The window still has a disabled title bar and isn't accepting key events etc.

[self.window makeKeyAndOrderFront:self];
[self.window makeMainWindow];

The only way I seem to be able to get the previous window to lose focus is if I close the window after calling showWindow: with [[NSApp mainWindow] close];

Any ideas?

Best Answer

makeKeyAndOrderFront: is the way to go. Are you sure that self.window and window refer the same object?

Related Topic