让一个NSWindow(或其他东西)出现在菜单栏上方

jbu*_*s20 3 cocoa objective-c

我想创建一个可以出现在mac菜单栏上方的NSWindow(或其他东西).我知道这是可能的,因为TeamViewer使用"鼠标"图像来完成它.

示例:http://i.stack.imgur.com/6iZbG.png

他们是如何做到的呢?(或者,我该怎么办?)

zpa*_*ack 6

你想查看窗口级别,正如moritz的评论中提到的那样.NSMainMenuWindowLevel之上的任何级别都应出现在菜单栏上方.

如果你真的想要超越其他一切,你可以使用屏蔽窗口级别(技术上不是常规NSWindow窗口级别的一部分).屏蔽窗口适用于接管屏幕的全屏应用程序,但您可以使用常规窗口执行此操作.我有一个放大镜类型的应用程序,使用它有良好的影响.

[myWindow setWindowLevel:CGShieldingWindowLevel()];
Run Code Online (Sandbox Code Playgroud)

同样提到莫里茨的评论,这样做通常是一个坏主意,所以请确保你有充分的理由这样做.