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

前端之家收集整理的这篇文章主要介绍了macos – 让Cocoa应用程序保持在全屏应用程序之上前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个具有状态菜单的应用程序,用户可以从该菜单打开应用程序的主窗口.我希望能够在全屏应用程序之上打开此窗口.如果Application is agent(UIElement)设置为YES,则以下代码可以正常工作:

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

但是,我想在码头上也有一个图标.如果Application is agent(UIElement)设置为NO showMainWindow会导致应用程序跳转到不同的空间而不是显示在活动的全屏应用程序之上.这个问题有方法解决吗?

解决方法

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

经过一番研究后,没有办法绕过它.它就像OS X的工作方式一样.

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

猜你在找的cocoa相关文章