透明 NSWindow 但具有标准边框和阴影

Ken*_*rin 4 macos cocoa objective-c transparent nswindow

我想要一个或多或少带有工具栏和所有这些的标准 NSWindow,但我希望内容视图是透明的,以便我可以看到它。同时我想保留窗口的浅灰色轮廓,也是它的阴影。但是我想避免从内容视图区域内的工具栏获得的“内部”阴影。

到目前为止我所尝试的只是将窗口背景颜色设置为半透明颜色,并将不透明设置为 NO。问题是窗口边框随着背景本身的 alpha 逐渐消失,背景上的透明度越高,内容视图中显示的工具栏阴影就越多。

一般来说,窗口阴影和边框根据内容视图的透明度而变化,我完全理解。但我想要一种保持边框和阴影的行为,就好像它是一个完全不透明的窗口一样,然后我希望内容视图区域是透明的。

我不确定在概念上我需要做什么才能使它工作。也许我必须自己绘制窗口边框,也许不是。也许我需要自己画阴影,或者不需要。

有没有人知道如何构建这个?我不需要确切的代码细节,而是我需要定制哪些部分..

我感谢任何输入!

小智 5

我不知道这对你是否有任何价值,但请尝试:

[aWindow setOpaque:NO];
[aWindow setBackgroundColor:[NSColor clearColor]];
Run Code Online (Sandbox Code Playgroud)