繁体   English   中英

优胜美地深色的NSPopover颜色反转

[英]NSPopover color invert in Yosemite dark color

我正在使用NSPopover ,当我将系统底座颜色更改为深色(Yosemite新功能)时,我视图中的某些元素会反转它们的颜色。

例如,某些标签从黑色变为灰色,或者文本字段背景从白色变为黑色。 如果我有一个带白色背景的视图,它现在变为模糊的暗效果。

所以有两个问题:

  1. 我可以取消此行为并强制用户界面像常规模式一样吗?

  2. 这里有哪些规则可以反转它们的颜色?

因为似乎有些元素改变而有些则没有。

这是我在优胜美地常规模式中的应用:

在此输入图像描述

这是在约塞米蒂黑暗模式:

在此输入图像描述

它可能是您正在使用的库导致此行为。 我刚刚测试了一个新项目,无论我怎么努力,我都无法使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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM