我正在使用Xcode开发Mac osx应用程序。我想在所有应用程序的顶部添加一个透明的全屏 View /窗口。这样我就可以“绘制”在透明 View 上,在它后面将是任何应用程序, Safari ,单词...等。

我尝试了如下

 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 。
非常感谢!!!

最佳答案

请参阅 Apple 的 FunkyOverlayWindow sample code 。除了设置窗口的级别外,您还需要将其背景颜色设置为clear 并将其设置为non-opaque。如果它是透明的,但您仍然希望它接收鼠标事件以进行绘图(而不是让它们通过它后面的窗口),则需要执行 [window setIgnoresMouseEvents:NO]

关于xcode - cocoa 应用程序在所有运行Mac的应用程序之上创建透明 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16779469/

10-14 12:20
查看更多