Cocoa Can';t使用nspover禁用背景模糊

Cocoa Can';t使用nspover禁用背景模糊,cocoa,osx-yosemite,nspopover,Cocoa,Osx Yosemite,Nspopover,在10.10版中运行时,我没有运气尝试将NSPopover恢复到10.9版的外观。我有一个popover,它连接到用户拖动的NSView上。popover必须是透明的,这样用户仍然可以看到下面其他UI元素的位置 在10.9下一切正常,但现在在10.10下,随着苹果新的噱头模糊,我似乎无法在10.10上恢复相同的外观(除非像我一样,用户在系统首选项>可访问性中启用了“降低透明度”。我无法对最终用户实施首选项更改!) 已尝试: self.draggingPopover.appearance = NS

在10.10版中运行时,我没有运气尝试将NSPopover恢复到10.9版的外观。我有一个popover,它连接到用户拖动的NSView上。popover必须是透明的,这样用户仍然可以看到下面其他UI元素的位置

在10.9下一切正常,但现在在10.10下,随着苹果新的噱头模糊,我似乎无法在10.10上恢复相同的外观(除非像我一样,用户在系统首选项>可访问性中启用了“降低透明度”。我无法对最终用户实施首选项更改!)

已尝试:

self.draggingPopover.appearance = NSPopoverAppearanceHUD;
self.popoverView.superview.appearance = [NSAppearance appearanceNamed:NSAppearanceNameAqua];
self.popoverView.appearance = [NSAppearance appearanceNamed:NSAppearanceNameAqua];
所有这些都不会影响popover在屏幕上的外观

“我的视图”子类中的drawRect使用我选择的颜色填充背景,但忽略alpha值,并且Popor是不透明的

类似地,我可以使用self.popoverView.layer.backgroundColor=…,但是alpha值也被忽略了

使用:

[popover setAppearance:(NSPopoverAppearance)[NSAppearance appearanceNamed:NSAppearanceNameAqua]];

如果要求popover是透明的(无论将来是否对popover进行任何设计更改),您是否可以将popover窗口(即PopoOverview的
-window
)的alphaValue设置为其他值<1.0?

您也可以在故事板中设置
Aqua
外观。选择
nspover
的内容视图并使用此设置:


不幸的是,我得到了与在视图上设置外观相同的结果。模糊已禁用,但我无法在视图背景中绘制任何透明度。我甚至尝试过在内容视图的superview(NSPopoverFrame)上设置layer.backgroundColor,但它再次忽略了任何透明度。似乎从10.10开始,popover内容视图的superview(NSPoverFrame)以完全不透明度绘制,所以无论您在内容视图中做什么,不支持透明。您是否曾经使用过此功能?否,因为内容也将是透明的。我只需要背景是50%不透明度,但在顶部的文本是100%不透明度。