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

4
我想要一个标准的带有工具栏的NSWindow,但我希望内容视图是透明的,以便我可以透过它看到别的东西。同时,我想保留窗口的浅灰色轮廓和阴影。但是我想避免从内容视图区域内部工具栏得到的“内部”阴影。
我试过将窗口背景颜色设置为半透明颜色,还将opaque设置为NO。问题是窗口边框随着背景本身的alpha值而褪色,而且背景越透明,工具栏的阴影就在内容视图中显示出来。
通常情况下,窗口阴影和边框会根据内容视图的透明度而变化,这一点我完全理解。但是我想要一种行为方式,在这种方式下,它可以像完全不透明的窗口一样保持边框和阴影,然后我希望内容视图区域是透明的。
我不确定概念上需要做什么才能使其工作。也许我需要自己绘制窗口边框,也许不需要。也许我需要自己画阴影,或者也许不需要。
有人知道如何构建这个吗?我不需要精确的代码细节,而是需要知道哪些部分需要自定义。。
感谢您的任何建议!

你解决了这个问题吗?我也遇到了同样的问题。 - Andy Hin
2个回答

5
我不知道这段时间过后这对您是否有用,但请尝试以下方法:
[aWindow setOpaque:NO];
[aWindow setBackgroundColor:[NSColor clearColor]];

0
子类化NSView类,重写drawRect:(NSRect)dirtyRect方法并将视图的颜色设置为clearcolor,现在将您的内容视图的类设置为NSView的子类。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接