gpt4 book ai didi

macos - 让 Cocoa 应用程序保持在全屏应用程序之上

转载 作者:行者123 更新时间:2023-12-03 16:14:34 25 4
gpt4 key购买 nike

我正在开发一个具有状态菜单的应用程序,用户可以从该菜单打开该应用程序的主窗口。我希望能够在全屏应用程序之上打开此窗口。如果应用程序是代理(UIElement)设置为YES,以下代码可以正常工作:

- (IBAction)showMainWindow:(id)sender
{
[_window makeKeyAndOrderFront:self];
[NSApp activateIgnoringOtherApps:YES];
}

但是,我也想在扩展坞中拥有一个图标。如果应用程序是代理(UIElement)设置为NO,showMainWindow会导致应用程序跳转到不同的空间,而不是出现在事件的全屏应用程序的顶部。有没有办法解决这个问题?

最佳答案

为了完整起见,我在这里回答我自己的问题。

经过更多研究后发现,没有办法解决这个问题。这就是 OS X 的工作方式。

我的解决方案:我在应用程序首选项中为用户提供了一个选项,无论他们希望应用程序是停靠类型应用程序还是代理类型。在主 plist 中将应用程序是代理 (UIElement) 设置为 YES。您可以通过将应用激活策略设置为 NSApplicationActivationPolicyRegular 在运行时更改应用类型。

关于macos - 让 Cocoa 应用程序保持在全屏应用程序之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8584017/

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