0

NSTableRowView在基于视图的子类中将NSTableView选择颜色更改为浅蓝色而不是默认颜色。

不幸的是,当我选择该行时,我的自定义单元格内的标签和文本字段的颜色变为白色并且不可读。

如何防止文本在选择时改变颜色?

找到的解决方案:

我所要做的就是-setBackgroundStyle:在我的自定义中实现,NSTableCellView然后调用我想要在选择时保持黑暗的所有控件setBackgroundStyle:NSBackgroundStyleLightNSCell

4

3 回答 3

1

好的,我想通了。

我所要做的就是在我的自定义 NSTableCellView 中实现 -setBackgroundStyle: 并在我想在选择时保持黑暗的所有控件的 NSCell 上调用 setBackgroundStyle:NSBackgroundStyleLight 。

于 2012-07-24T08:23:30.097 回答
1

您需要制作一个自定义 NSCell

于 2012-07-24T05:49:37.680 回答
0

你是如何改变选择颜色的?这听起来可能是由于您在现有图层之上添加子视图或子图层(可能是 cell.selectedBackgroundView?)引起的。如果您有任何 insertSublayer 或 subView 调用,请确保您在 Index:0 处执行它们。

于 2012-07-24T06:06:07.050 回答