一尘不染

如何在OSX上快速创建具有透明背景的窗口?

swift

我想在Mac上创建osx /
cocoa应用程序,该应用程序的操作非常简单:在Mac上显示文本字符串,没有背景。最终,这将是一个计时器,该计时器在其他窗口上方显示为覆盖图,而不会过于干扰。

我尝试设置window.backgroundColor = NSColor(red: 1.0, green:0.5, blue:0.5, alpha: 0.5)(请参见Alpha为0.5),applicationDidFinishLaunching但这并没有将其变成远程透明的东西。

任何善良的灵魂都想提出一种方法来做到这一点?


阅读 267

收藏
2020-07-07

共1个答案

一尘不染

NSWindow具有“ opaque”属性,默认情况下为true。

当窗口不透明时,此属性的值为true;否则为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) 
}
2020-07-07