[英]NSPopover color invert in Yosemite dark color
我正在使用NSPopover
,当我将系统底座颜色更改为深色(Yosemite新功能)时,我视图中的某些元素会反转它们的颜色。
例如,某些标签从黑色变为灰色,或者文本字段背景从白色变为黑色。 如果我有一个带白色背景的视图,它现在变为模糊的暗效果。
所以有两个问题:
我可以取消此行为并强制用户界面像常规模式一样吗?
这里有哪些规则可以反转它们的颜色?
因为似乎有些元素改变而有些则没有。
这是我在优胜美地常规模式中的应用:
这是在约塞米蒂黑暗模式:
它可能是您正在使用的库导致此行为。 我刚刚测试了一个新项目,无论我怎么努力,我都无法使NSPopover成为黑色。
你在用什么库? 你是如何设置NSPopover的?
也许你可以尝试更改视图的外观属性?
view.appearance = [NSAppearance appearanceNamed:NSAppearanceNameAqua];
NSView具有属性appearance
因为它符合NSAppearanceCustomization 。
另见NSAppearance 。
------------------------
找到解决方案:
self.popover.appearance = [NSAppearance appearanceNamed:NSAppearanceNameAqua];
结果:
有办法做到这一点,但我建议接受它。 它没有具体记录会发生什么变化以及如何变化。 但观察会告诉你该怎么做。 主要是它需要你做与选择相反的操作。选择使用Appkit接口元素,以及使用作为系统颜色提供的NSColor名称并使用NSVisualEffectView。 这意味着要明确选择退出,你需要绕过并基本上自定义视图,这主要意味着设置明确的颜色和偶尔子类化。 开箱即用的HUD风格的popovers和面板将选择加入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.