osx-我有两个窗户, 我最初将第一个窗口设置为关键窗口, 然后将第二个窗口设置为关键窗口, 然后我调用[NSApp activateIgnoringOtherApps:Yes]。 我打印[[NSApplication sharedApplication] orderedWindows];
我发现,如果第一个窗口关闭,orderedWindows将只是第二个窗口。
但是如果第一个窗口仍然打开,即使我将第二个窗口设为key和main,但orderedWindows将为{firstWindow,secondWindow}
但我希望第二个窗口位于前面。
我也让第二个窗口做到这样:
[captureWindow setLevel:NSStatusWindowLevel + 2];
[captureWindow setReleasedWhenClosed:YES];
[captureWindow setAcceptsMouseMovedEvents:YES];
[captureWindow setMovableByWindowBackground:NO];
[captureWindow makeKeyAndOrderFront:self];
[captureWindow orderFrontRegardless];
[captureWindow orderFront:self];
[captureWindow makeKeyWindow];
[captureWindow makeMainWindow];
[NSApp activateIgnoringOtherApps:YES];
但是当[NSApp activateIgnoringOtherApps:YES]时;一旦执行,如果第一个窗口仍然在屏幕上,那么windowOrdered将是{firstWindow,secondWindow},所以我认为orderFront不起作用?
答案 0 :(得分:1)
“key”和“main”都与排序无关。如果要在前面排序窗口,则方法为[NSWindow orderFront:]
。有一种常用方法可以同时执行:[NSWindow makeKeyAndOrderFront:]
。