我正在使用基于视图的表格视图,并且不希望它在选择时使用白色文本颜色绘制 NSTextFields。我无法找到可行的解决方案。因此,非常感谢任何帮助。
这是我的问题:
我希望“选择为白色”文本也以默认文本颜色绘制。
到目前为止,我发现
- 设置属性
tableView:viewForTableColumn:item:
并没有真正帮助 - 将
NSTextField
颜色设置为自定义颜色,这与控件默认颜色不同,将阻止以白色绘制,但仍会丢失字体样式(粗体、斜体等)。 - 设置
NSTableView
的selectionHighlightStyle
属性NSTableViewSelectionHighlightStyleNone
做的伎俩,但它不会重绘NSTableRowView
。选择风格也不是我想要的。我希望第一次单击以选择行,第二次单击以编辑文本字段。当您使用NSTableViewSelectionHighlightStyleNone
您的第一次单击开始编辑文本字段。 - 如果 NSTextField 有边框,文本颜色不会改变。但我不想要有边框的文本字段(如屏幕截图所示。文本字段是可编辑的)
我无法弄清楚文本字段“如何”获得白色。I have overridden setTextColor:
and realized that it is never called when selection is changed. 所以我猜想 NSAttributedString 是在 NSTableView 绘图/选择例程内的某个地方构建的。
很感谢任何形式的帮助。