在NSTableView中选定的行中显示文本为白色

时间:2010-08-31 11:53:33

标签: cocoa nstableview

在我的应用程序中,我采用了一个表视图并在其中显示了一些NSString对象。用户还可以编辑其中的任何行。

当我在IB中的NSTableColumn中不改变NSTextFieldCell的颜色时,它显示表视图的默认显示属性即。当选择一行时,所选行的文本开始显示为白色,但当我将其更改为其他颜色时,例如蓝色,则它开始显示如下:

alt text

要解决此问题,我尝试在表委托方法中将所选行中单元格的文本颜色设置为白色:tableView:willDisplayCell:forTableColumn:row:,但它导致了另一个问题 - 编辑时文本仍然是白色,因此变得困难用户识别输入的文字:

alt text

有谁能建议我一些合适的解决方案来解决它?

谢谢,

Miraaj

1 个答案:

答案 0 :(得分:2)

测试whether the cell is highlighted。如果是,请将其文本颜色设置为[NSColor alternateSelectedControlTextColor]。如果没有,请将其设置为蓝色(或[NSColor controlTextColor]为常规文本颜色。)