【发布时间】:2014-10-03 14:51:48
【问题描述】:
我有一个面板,我想漂浮在所有窗口上方并出现在所有空间中。这很容易用
[self.panel setLevel:kCGUtilityWindowLevel];
[self.window setCollectionBehavior:NSWindowCollectionBehaviorCanJoinAllSpaces];
但现在我希望能够选择在全屏模式下隐藏面板。我仍然希望它在不处于全屏模式时出现在所有空间中。
我似乎找不到任何会导致浮动面板的选项集,在所有屏幕中都可见,但在全屏模式下隐藏。
我可以检测到系统何时进入全屏模式并调整面板设置,但我希望有更优雅的行为设置。
【问题讨论】:
-
我不太确定你在寻找什么行为。有没有一个你能想到的苹果应用程序,它的面板完全符合你的要求?我的印象是浮动面板不应该再使用了……在我看来,在所有 Apple 的应用程序中,他们已经从浮动面板转移到将面板内置到窗口的一侧。 IE,在 iWork 应用程序的最新更新中,他们摆脱了检查器面板,现在该功能被卡在窗口的右侧。
-
我的应用程序(键盘大师)是一个宏程序。它使用浮动调色板作为触发宏的一种方式。因此,他们需要为此浮动在所有应用程序窗口之上(如果用户愿意,它们也可以特定于特定应用程序)。但用户可能希望它们在 Safari 中可见,但在观看全屏视频时隐藏。这就是我想要的行为。