我想知道是否有可能让我的 NSWindow 绝对显示在所有内容之上。我目前使用代码将窗口级别设置为 CGShieldingWindowLevel ...
[self setLevel:CGShieldingWindowLevel()];
...这在大多数情况下做得很好,但这还不够。当任务控制或暴露处于活动状态时,不会绘制窗口,而是在鼠标下方绘制。我想知道是否有可能创建一个真正的“顶级”,将其绘制在所有这些元素之上。
任何帮助将不胜感激。谢谢!
我想知道是否有可能让我的 NSWindow 绝对显示在所有内容之上。我目前使用代码将窗口级别设置为 CGShieldingWindowLevel ...
[self setLevel:CGShieldingWindowLevel()];
...这在大多数情况下做得很好,但这还不够。当任务控制或暴露处于活动状态时,不会绘制窗口,而是在鼠标下方绘制。我想知道是否有可能创建一个真正的“顶级”,将其绘制在所有这些元素之上。
任何帮助将不胜感激。谢谢!
关于您关于 Expose 的问题,您可能只是没有正确设置您的收集行为。创建一个 的子类NSWindow
,并在初始化的某个地方执行以下操作:
self.collectionBehavior = (NSWindowCollectionBehaviorStationary | NSWindowCollectionBehaviorIgnoresCycle);
如果您希望您的窗口在所有空间上(您可能会这样做),请不要忘记添加NSWindowCollectionBehaviorCanJoinAllSpaces
.
就你关于鼠标的问题而言,不幸的是,我认为没有办法在它上面画图。