1
我有一个基础HUD窗口的Mac应用程序。我想让这个窗口完全透明,并且让NSView处于内容的顶端。如果我更改面板的alpha,那么内容将是透明的,我不希望这样。什么是使背景隐形的最简单的方法。谢谢。OSX HUD面板完全透明
编辑1: 我有一个NSWindowController来控制初始窗口,然后它转换到视图控制器。但我认为最初的窗口仍然存在。
我有一个基础HUD窗口的Mac应用程序。我想让这个窗口完全透明,并且让NSView处于内容的顶端。如果我更改面板的alpha,那么内容将是透明的,我不希望这样。什么是使背景隐形的最简单的方法。谢谢。OSX HUD面板完全透明
编辑1: 我有一个NSWindowController来控制初始窗口,然后它转换到视图控制器。但我认为最初的窗口仍然存在。
要配置完全透明背景的NSWindow
,必须将NSColor.clearColor()
设置为背景颜色,并将opaque
标志设置为false
。 (否则你会得到绘制毛刺)。
@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
}
}
我添加的代码到我的NSWindowController,但它并没有改变的背景。感谢您的快速回复! –
你究竟在哪里添加它?可能窗户仍然是零?另一种选择是你的窗口使用一些不符合上述标志的样式掩码。你可以尝试一个非HUD,非面板窗口吗? –
伟大的修复它!不,我可以设置它,以便您可以点击应用程序? –