gpt4 book ai didi

objective-c - 与 FireBreath 一起使用时使 NSWindow 出现在前面

转载 作者:搜寻专家 更新时间:2023-10-30 20:19:30 25 4
gpt4 key购买 nike

我正在使用 FireBreath 创建一个跨浏览器插件,该插件使用一些针对相应平台的 native 库(一些基于 .NET 的 Windows DLL 和基于 Objective-C 的 dylibs/frameworks 用于 Mac)。该库显示一个 UI,它最终应该出现在其他窗口的前面(特别是在浏览器窗口的前面)。对于 Windows,我使用 win32 API 传递窗口处理程序并将其置于前台。目前一切正常。但是,我目前无法找到适用于 Mac 的解决方法,因此该窗口始终出现在 Mac 浏览器的后面。这个问题有什么解决方法吗?

我尝试了以下方法但没有成功:

1) 将 NSWindow 的级别设置为更高的值(例如:NSFloatingWindowLevel)并调用 orderFront 方法。

2) 在 NSApp 中设置 activateIgnoringOtherApps 属性并调用 makeKeyAndOrderFront 方法。

非常感谢这方面的任何帮助。

最佳答案

感谢大家的支持。我设法解决了这个问题,我在这里回复是为了线程的完整性。

这个问题是由 Objective-C 中的一个基本事实引起的,它与 FireBreath 无关。当调用方法将其置于前台时,NSWindow 中的窗口对象未初始化 (nil)。修复后,只需将窗口级别设置为 NSFloatingWindowLevel 即可解决此问题。

关于objective-c - 与 FireBreath 一起使用时使 NSWindow 出现在前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16271863/

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