【发布时间】:2018-09-27 14:26:08
【问题描述】:
在 mac os 10.14 中,Apple 为用户界面引入了新功能:Light 和 Dark 主题。在用于文本/标签/内容/按钮/等着色的 NSColor 类中为某些颜色 "UI Element Colors" 定义了常量,但似乎 NSView 背景没有常量。
在哪里可以找到 NSView 的默认背景颜色(用于 Light 和 Dark 主题)?
【问题讨论】:
-
您链接到的列表有
ControlBackgroundColor、WindowBackgroundColor和UnderPageBackgroundColor。这些是你要找的吗? -
Ian MacDonald,不幸的是,您提到的所有三个常量都与 DarkTheme 中的默认 NSView 颜色不同
-
据我了解,NSView 没有标准的背景颜色,不像窗口或控件。要设置背景颜色,您必须继承 NSView 并覆盖 draw 函数以绘制您喜欢的任何背景颜色。在 10.14 之前,您必须选择自己的颜色,现在您也必须这样做,但根据浅色或深色模式切换颜色。此处描述了如何做到这一点的一个答案:stackoverflow.com/a/52406553/1912421
-
Enie,在 xcode 中创建新的 macos cocoa 应用程序并添加一个空的 NSView 时,您会看到它会被填充一些颜色(如果 macOS 主题发生更改,该颜色也会更改)。在哪里可以找到填充颜色?
-
@Enie 是对的;
NSView没有背景颜色。当你在 Xcode 中创建一个时,它的视觉表示肯定有背景,但这只是 Xcode 使它可见,所以你可以拖动它。当您实际构建并运行应用程序时,您会发现没有进行绘图。
标签: macos default back nscolor