谁能帮帮我? 我想让行变成红色,但是所有行都是红色的!
-(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell
forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
NSColor *cRed = [NSColor redColor];
NSTextFieldCell* cCell = (NSTextFieldCell*)cell;
if ([[tableView selectedRowIndexes] containsIndex:4])
{
[cCell setTextColor:cRed];
}
else
{
[cCell setTextColor:[NSColor blackColor]];
}
}
答案 0 :(得分:1)
如果表中任何选定的行包含第5行(即索引4),则代码中的这一行:
if ([[tableView selectedRowIndexes] containsIndex:4])
命中并且您在显示的每一行中都看到红色。
也许如果您将该行更改为:
if(row == 4)
(其中row是传递给该方法的参数)
您只会看到一行变为红色。
说实话,这不是设置行/单元格颜色的最佳位置。我认为最好在表格视图数据源中设置它(例如tableView:objectValueForTableColumn:row:
)。