为什么 key 和 main window 不是 top window?
Why key and main window not be the top window?
osx- 我有两个 windows,
我最初将第一个 window 设置为键 window,
然后将第二个 window 设置为键 window,
然后我调用 [NSApp activateIgnoringOtherApps:Yes]。
我打印 [[NSApplication sharedApplication] orderedWindows];
我发现,如果第一个 window 关闭,有序的 Window 将只有第二个 Window。
但是如果第一个 window 仍然打开,即使我已经将第二个 window 设置为 key 和 main,但是 orderedWindows 将是 {firstWindow, 第二Window}
但我希望第二个 window 成为前面的那个。
我也让第二个Window这样做:
[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];一旦执行,如果第一个 window 仍在屏幕上,那么 windowOrdered 将是 {firstWindow, secondWindow},所以我认为 orderFront 不起作用?
"key" 和 "main" 都与排序无关。如果你想做一个window有序的前面,那么方法就是[NSWindow orderFront:]
。有一种常用的便捷方法:[NSWindow makeKeyAndOrderFront:]
.
osx- 我有两个 windows, 我最初将第一个 window 设置为键 window, 然后将第二个 window 设置为键 window, 然后我调用 [NSApp activateIgnoringOtherApps:Yes]。 我打印 [[NSApplication sharedApplication] orderedWindows];
我发现,如果第一个 window 关闭,有序的 Window 将只有第二个 Window。
但是如果第一个 window 仍然打开,即使我已经将第二个 window 设置为 key 和 main,但是 orderedWindows 将是 {firstWindow, 第二Window}
但我希望第二个 window 成为前面的那个。
我也让第二个Window这样做:
[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];一旦执行,如果第一个 window 仍在屏幕上,那么 windowOrdered 将是 {firstWindow, secondWindow},所以我认为 orderFront 不起作用?
"key" 和 "main" 都与排序无关。如果你想做一个window有序的前面,那么方法就是[NSWindow orderFront:]
。有一种常用的便捷方法:[NSWindow makeKeyAndOrderFront:]
.