Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 非透明NSPover上的“从NSButton中渗出”复选框_Swift_User Interface_Cocoa - Fatal编程技术网

Swift 非透明NSPover上的“从NSButton中渗出”复选框

Swift 非透明NSPover上的“从NSButton中渗出”复选框,swift,user-interface,cocoa,Swift,User Interface,Cocoa,我正在为我的菜单栏应用程序使用一个nspover,它的默认aqua主题(以及浅和暗)似乎用半透明的背景来绘制它 我想要一个不透明的背景 所以我搜索了So,发现我可以为contentViewController设置背景色,如下所示: if let popoverView = popover.contentViewController?.view.superview { popoverView.wantsLayer = true popoverView.lay

我正在为我的菜单栏应用程序使用一个nspover,它的默认aqua主题(以及浅和暗)似乎用半透明的背景来绘制它

我想要一个不透明的背景

所以我搜索了So,发现我可以为contentViewController设置背景色,如下所示:

    if let popoverView = popover.contentViewController?.view.superview {
        popoverView.wantsLayer = true
        popoverView.layer?.backgroundColor = NSColor.controlBackgroundColor.withAlphaComponent(1.0).cgColor
    }
这是可行的,但该视图控制器中的任何UI控件都将其背景绘制为透明,如下所示:

我曾尝试将UI控件嵌入到NSBox中,但得到了相同的透明背景绘制

解决办法是什么

下面是一个演示我所看到的:


编辑:也有类似的海报,但海报需要透明的背景,而不是不透明的。无论如何,这些解决方案都没有解决我的问题。

多亏了Willeke,答案是在AppDelegate.applicationdFinishLaunching()中添加此选项


可能的复制品是的,复制品,但海报需要透明的背景,而不是不透明的。无论如何,没有一个解决方案解决了我的问题。
popover.appearance=NSAppearance(名为:.aqua)
中的
ApplicationIDFinishLaunching
对我有效。是的,你是对的。它确实解决了问题。我在我的主要项目中的代码中包含了这一点,并且已经尝试过了,但它在那里不起作用。修复了我测试项目中的所有问题。
    popover.appearance = NSAppearance(named: .aqua)