Mar*_*rio 7 macos objective-c nspopover osx-yosemite
我正在使用NSPopover
,当我将系统底座颜色更改为深色(Yosemite新功能)时,我视图中的一些元素会反转它们的颜色.
例如,某些标签从黑色变为灰色,或者文本字段背景从白色变为黑色.如果我有一个白色背景的视图,现在它变为模糊的暗效果.
所以有两个问题:
我可以取消此行为并强制用户界面像常规模式一样吗?
这里有哪些规则可以反转它们的颜色?
因为似乎有些元素改变而有些则没有.
这是我在优胜美地常规模式中的应用:
这是在约塞米蒂黑暗模式:
ink*_*ket 10
它可能是您正在使用的库导致此行为.我刚刚测试了一个新项目,无论我怎么努力,我都无法使NSPopover成为黑色.
你在用什么库?你是如何设置NSPopover的?
也许你可以尝试更改视图的外观属性?
view.appearance = [NSAppearance appearanceNamed:NSAppearanceNameAqua];
NSView具有该属性,appearance
因为它符合NSAppearanceCustomization.
另见NSAppearance.
------------------------
找到解决方案:
self.popover.appearance = [NSAppearance appearanceNamed:NSAppearanceNameAqua];
Run Code Online (Sandbox Code Playgroud)
结果:
有很多方法可以做到这一点,但我建议采用它。没有具体记录将改变什么以及如何改变。但观察会告诉你该怎么做。主要是它要求您执行与选择相反的操作。选择加入是按原样使用 Appkit 界面元素以及使用作为系统颜色提供的 NSColor 名称和使用 NSVisualEffectView。这意味着要明确选择退出,您需要四处走动并基本上自定义视图,这主要意味着设置显式颜色并偶尔进行子类化。开箱即用的 HUD 风格弹出窗口和面板将被选择。
归档时间: |
|
查看次数: |
2503 次 |
最近记录: |