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

时间:2011-07-17 11:39:18

标签: objective-c cocoa macos nswindow

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

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

我该怎么做?

3 个答案:

答案 0 :(得分:5)

使用NSWindow的{​​{1}}或addChildWindow:ordered:方法将其他窗口添加为第一个窗口的子窗口。那个窗口将跟随第一个窗口。请参阅NSWindow Class Reference

答案 1 :(得分:2)

您可以将窗口级别设置为NSFloatingWindowLevel,使其始终位于顶部 要防止窗口覆盖其他应用程序,您可以将其级别设置为NSNormalWindowLevel,或者您可以隐藏它。尝试使用applicationWillResignActive:方法(NSApplicationDelegate Protocol)从顶部删除您的窗口。为了抓住你将窗口重新放回顶部的那一刻,使用applicationWillBecomeActive:方法。

答案 2 :(得分:0)

这对我有用,希望会有所帮助

[self.window makeKeyAndOrderFront:nil];
[self.window setLevel:NSStatusWindowLevel];