我想在我的 mac 上创建一个 osx/cocoa 应用程序,它做的事情非常简单:在我的 mac 上显示一个文本字符串,没有背景。最终,这将是一个计时器,它显示为覆盖在其他窗口之上,而不会过于干扰。
我尝试设置 window.backgroundColor = NSColor(red: 1.0, green:0.5, blue:0.5, alpha: 0.5)
(看到 alpha 是 0.5),在 applicationDidFinishLaunching
但这并没有把它变成远程透明的东西。
任何好心人都想建议一种方法来做到这一点?
最佳答案
NSWindow 有一个属性“opaque”,默认情况下为真。
The value of this property is true when the window is opaque; otherwise, false.
只需将其更改为 false 即可:
override func viewWillAppear() {
super.viewWillAppear()
view.window?.opaque = false
view.window?.backgroundColor = NSColor(red: 1, green: 0.5, blue: 0.5, alpha: 0.5)
}
Swift 4 更新:opaque
已重命名为 isOpaque
override func viewWillAppear() {
super.viewWillAppear()
view.window?.isOpaque = false
view.window?.backgroundColor = NSColor(red: 1, green: 0.5, blue: 0.5, alpha: 0.5)
}
关于swift - 如何在 osx 上使用 swift 创建一个具有透明背景的窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34531118/