我正在使用 Xcode 开发 mac osx 应用程序。我想在所有应用程序之上添加一个透明的全屏 View /窗口。这样我就可以在透明 View 上“绘图”,它后面将是任何应用程序、safari、word 等。
我试过如下
NSRect rect = [[NSScreen mainScreen] frame]; //this is full screen size, but still with the status bar like time, battery, etc.
NSWindow *overlayWindow = [[NSWindow alloc]initWithContentRect:rect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO];
overlayWindow.backgroundColor = [NSColor redColor];
[self.window addChildWindow:overlayWindow ordered:NSWindowAbove];
这是我的 mac 应用程序的新全屏子窗口。但这并不是我在 Mac 上运行的所有应用程序之上的。
所以我的问题,
如何在我的 mac 屏幕 View (不仅仅是我的应用程序的顶 View )上添加 View 。
非常感谢!!!
最佳答案
见苹果FunkyOverlayWindow sample code .除了设置窗口的级别外,您还需要将其背景颜色设置为清除并将其设置为非不透明。如果它是透明的,但你仍然希望它接收鼠标事件以进行绘图(而不是让它们穿过它后面的窗口),你需要做 [window setIgnoresMouseEvents:NO]
.
关于xcode - Cocoa app 在所有 mac 运行的应用程序之上创建透明 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16779469/