gpt4 book ai didi

cocoa - 创建一个 NSWindow,它 float 在应用程序中的所有其他窗口上,但不 float 在其他应用程序的窗口上

转载 作者:行者123 更新时间:2023-12-03 16:10:47 28 4
gpt4 key购买 nike

我试图让我的 NSWindow 始终显示在我的应用程序顶部,但我不希望它漂浮在其他已激活的应用程序上。我已经厌倦了以下代码,但这使得窗口 float 在其他应用程序上:

NSRect frame = NSMakeRect(100, 100, 800, 800);
myWindow = [[NSWindow alloc] initWithContentRect:frame
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO];
[myWindow setLevel:NSFloatingWindowLevel ];
[myWindow setBackgroundColor:[NSColor blueColor]];
[myWindow makeKeyAndOrderFront:NSApp];

我还尝试了 NSWindow 文档中列出的所有常量,但没有找到一个可以使 NSWindow float 在我的其他窗口上,但不会 float 在其他事件应用程序的其他窗口上。这不可能吗?

最佳答案

没有对此的内置支持。您可以考虑将窗口设置为在停用时隐藏。

或者,您可以让窗口 Controller 观察 NSApplicationWillResignActiveNotificationNSApplicationDidBecomeActiveNotification 通知并调整窗口级别。当您的应用程序即将退出事件状态时,您可以将窗口级别设置回正常状态。当它再次激活时,您将其设置为 float 。 (如果窗口由应用程序委托(delegate)控制,则您可以在 -applicationWillResignActive:-applicationDidBecomeActive: 委托(delegate)方法中执行此操作。)

关于cocoa - 创建一个 NSWindow,它 float 在应用程序中的所有其他窗口上,但不 float 在其他应用程序的窗口上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23944223/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com