在NSPopover
内,某些子视图(例如标签,按钮)会自动启用活力。这使得当popover背后的内容为深色时,我的应用看起来非常糟糕,除非用户打开"降低透明度"在系统偏好设置中如果我将popover的内容视图子类化,并将allowsVibrancy
设置为false,则会使整个弹出窗口变得半透明,这看起来更好。但是,我认为当完全禁用活力时,我的应用看起来最好。
我的问题是,如何在不对每个NSView
子类进行子类化的情况下,如何禁用所有视图的活力?
答案 0 :(得分:1)
您可以将弹出框设置为使用纯色:
How to change NSPopover background color include triangle part?
答案 1 :(得分:0)
您可以通过设置Popover(或任何其他您想要确保非生动的视图)的外观来实现此目的,以获得NSAppearanceNameAqua
外观。例如
popover.appearance = [NSAppearance appearanceNamed:NSAppearanceNameAqua];
否则,默认情况下,弹出框将具有VibrantLight外观。