繁体   English   中英

OSX HUD面板完全透明

[英]OSX HUD Panel Fully transparent

我有一个带有基本HUD窗口的Mac应用程序。 我想使窗口完全透明,并在内容上方放置NSViews。 如果我更改面板的Alpha,则内容将是透明的,我不希望那样。 使背景不可见的最简单方法是什么。 谢谢。

编辑1:我有一个NSWindowController来控制初始窗口,然后过渡到视图控制器。 但是我认为最初的窗口仍然存在。

要配置具有完全透明背景的NSWindow ,必须将NSColor.clearColor()设置为背景色,并将opaque标志设置为false (否则,您将获得绘图故障)。

以下代码呈现了一个窗口,该窗口可以承载可见控件,但在其他情况下是不可见的: 透明NSWindow

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {

    @IBOutlet weak var window: NSWindow!


    func applicationDidFinishLaunching(aNotification: NSNotification) {
        self.window?.backgroundColor = NSColor.clearColor()
        self.window?.opaque = false
        self.window?.titlebarAppearsTransparent = true
        let existingStyleMask = self.window!.styleMask
        self.window?.styleMask = existingStyleMask|NSFullSizeContentViewWindowMask
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM