makeKeyAndOrderFront only does the latter
我正在尝试使用makeKeyAndOrderFront从另一个窗口打开一个窗口。出现新窗口,但没有获得焦点。
主窗口的代码是:
1 2 3 4 5 6 7 8 | #import"SecondWindowController.h" @implementation FirstWindowController -(IBAction)showSecondWindow:(id)sender { if (!secondWindowController) secondWindowController = [[SecondWindowController alloc] init]; [[secondWindowController window] makeKeyAndOrderFront:self]; } |
SecondWindowController是一个NSWindowController,如下所示:
1 2 3 4 5 6 7 | @implementation SecondWindowController -(id)init { if (![super initWithWindowNibName:@"SecondWindow"]) return nil; return self; } |
我也尝试过将
您是否确定SecondWindowController的窗口出口已连接到NIB中的窗口?即使未连接outlets,也可以仅通过加载NIB来显示该窗口。
您是否正在使用无边界窗口?如果是这样,则需要覆盖canBecomeKeyWindow并返回YES
尝试一下:
1 2 3 4 5 | if (!secondWindowController) secondWindowController = [[SecondWindowController alloc] init]; NSApplication *thisApp = [NSApplication sharedApplication]; [thisApp activateIgnoringOtherApps:YES]; [[secondWindowController window] makeKeyAndOrderFront:self]; |