使用Swift创建圆角NSWindow

8
我希望有一个圆角的窗口,但每个角上都有一个白色斑点。 代码:
let effect = NSVisualEffectView(frame: NSRect(x: 0, y: 0, width: 0, height: 0))
effect.blendingMode = .behindWindow
effect.state = .active
effect.material = .dark
effect.wantsLayer = true
effect.layer?.cornerRadius = 15.0
window.contentView = effect
window.titlebarAppearsTransparent = true
window.titleVisibility = .hidden

输出:

enter image description here

如何去掉角落里的白点?


1
搜索无边框窗口。 - El Tomato
1
http://stackoverflow.com/questions/42754898/how-to-make-window-transparent-in-osx-swift/42755175#42755175 - Leo Dabus
@LeoDabus,你能帮我回答这个问题吗?-> https://dev59.com/mp_ha4cB1Zd3GeqP7vdh - ssh
1个回答

10

同时将这段代码添加到你的代码中

window.isOpaque = false
window.backgroundColor = .clear

我没有我的机器来检查,但我曾经遇到同样的问题,我认为我通过使用以上代码解决了它。当我回到我的机器上时,我会确认一下。

试试看,并告诉我更新情况。


你能帮我回答这个问题吗 -> https://dev59.com/mp_ha4cB1Zd3GeqP7vdh - ssh
2
我使用了这个方法,效果非常好。但是,在窗口的顶部角落仍然有一条非常细的线,我无法摆脱它(尽管标题栏已经透明)。请注意,我不能在IB中使用“隐藏标题”;由于某种原因(可能是因为它在Storyboard的初始控制器内),如果我隐藏标题,windowDidBecomeMain将不再被调用。 - claude31

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