gpt4 book ai didi

objective-c - 如何创建一个类似 iTunes 迷你播放器的 NSWindow(总是在最上面但没有焦点!)

转载 作者:行者123 更新时间:2023-12-03 17:19:58 32 4
gpt4 key购买 nike

我有一个无边框窗口,其中有一个 WebView ,它始终位于顶部。我想创建一个 NSWindow ,它是:

  1. 始终领先
  2. 从当前前台应用获取焦点
  3. 是否启用用户鼠标交互(不强制用户将焦点切换到它 - 又名“单击它两次”)

我遇到的问题是,要与窗口交互(例如,查看悬停效果,或单击 WebView 中的链接),用户必须单击窗口(使其获得焦点),然后才会显示悬停效果。

如何制作一个像 iTunes 迷你播放器那样的窗口,既不从当前应用程序获取焦点,又与鼠标交互? (见下面的截图)

谢谢!!

enter image description here

enter image description here

最佳答案

要在您的应用未处于事件状态时接收 mouseEntered:mouseMoved:mouseExited: 事件,您必须添加一个跟踪区域窗口中的某些 View 并相应地设置跟踪区域的属性。

看看NSTrackingArea .

您可能需要使用选项 NSTrackingActiveAlwaysNSTrackingMouseEnteredAndExited 添加跟踪区域。

关于objective-c - 如何创建一个类似 iTunes 迷你播放器的 NSWindow(总是在最上面但没有焦点!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33486146/

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