在我的应用程序中,我采用了一个表视图并在其中显示了一些NSString对象。用户还可以编辑其中的任何行。
当我在IB中的NSTableColumn中不改变NSTextFieldCell的颜色时,它显示表视图的默认显示属性即。当选择一行时,所选行的文本开始显示为白色,但当我将其更改为其他颜色时,例如蓝色,则它开始显示如下:
要解决此问题,我尝试在表委托方法中将所选行中单元格的文本颜色设置为白色:tableView:willDisplayCell:forTableColumn:row:,但它导致了另一个问题 - 编辑时文本仍然是白色,因此变得困难用户识别输入的文字:
有谁能建议我一些合适的解决方案来解决它?
谢谢,
Miraaj
答案 0 :(得分:2)
测试whether the cell is highlighted。如果是,请将其文本颜色设置为[NSColor alternateSelectedControlTextColor]
。如果没有,请将其设置为蓝色(或[NSColor controlTextColor]
为常规文本颜色。)