首页 > 解决方案 > NSColor 用于选定的表格视图文本

问题描述

我应该将哪个 NSColor 用于 NSTableView 中选定项目的文本?我在堆栈视图中有我的文本字段,因此不会为选定的行自动设置颜色。我尝试使用NSColor.selectedTextColor,但在 10.13/light 模式下仍然是黑色的。目前我正在使用NSColor.windowBackgroundColor,但这在暗模式下不起作用,其中选定的行会更改背景颜色,但不会更改文本颜色。

标签: macoscocoanstableviewnscolormacos-mojave

解决方案


10.14 SDK 中的 NSColor.h 将其显示为alternateSelectedControlTextColor:

@property (class, strong, readonly) NSColor *alternateSelectedControlTextColor;

/* Foreground color inside emphasized and selected content: table views rows, 
collection views, etc. Equivalent to +labelColor in a NSBackgroundStyleEmphasized 
context.*/

在高级暗模式 wwdc 演讲中也提到了后一个注释: https ://developer.apple.com/videos/play/wwdc2018/218/?time=2161

在 10.14 上,主要标签颜色将自动切换以在该选择中具有正确的外观。


推荐阅读