NSWindow - 显示新窗口,始终保持在当前窗口的顶部

Eri*_*pir 5 macos cocoa objective-c nswindow

我希望我的NSWindow能够显示始终位于当前窗口之上的新窗口.它们不应该在其他窗口之上.

此外,当原始窗口移动时,它们不应移动.

我怎样才能做到这一点?

spu*_*fle 5

使用NSWindow's' addChildWindow:ordered:setParentWindow:方法将其他窗口添加为第一个窗口的子窗口.那个窗口将跟随第一个窗口.请参阅NSWindow Class Reference.


Ven*_*MKO 3

您可以将窗口级别设置为 NSFloatingWindowLevel,以便它始终位于顶部。
为了防止窗口覆盖其他应用程序,您可以将其级别设置为 NSNormalWindowLevel 或者完全隐藏它。尝试使用applicationWillResignActive:方法(NSApplicationDelegate Protocol)从顶部删除窗口。要捕捉应该将窗口重新置于顶部的时刻,请使用applicationWillBecomeActive:方法。