7

我正在开发一个 MAC 应用程序并包含 tableView。想要将所选行的颜色更改为黄色。

4

2 回答 2

14

在您的表格视图上设置:

[yourtableview setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleNone];

并将 NSTableView 的以下委托方法实现为:

- (void)tableView:(NSTableView *)aTableView willDisplayCell:(id)aCell forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
{
    if ([[aTableView selectedRowIndexes] containsIndex:rowIndex]) 
    {
       [aCell setBackgroundColor: [NSColor yellowColor]];   
    } 
    else 
    {
       [aCell setBackgroundColor: [NSColor whiteColor]];
    } 
    [aCell setDrawsBackground:YES];
}  
于 2013-10-24T08:49:52.257 回答
0

如果您只想突出显示列的单个单元格,请按如下方式实现:-

- (void)tableView:(NSTableView *)tableView
  willDisplayCell:(id)cell
   forTableColumn:(NSTableColumn *)tableColumn
              row:(NSInteger)row
{
    if ([[tableColumn identifier] isEqualToString:@"yourColumm"])
    {
        [cell setBackgroundColor:[NSColor yelloColor]];
    }
}
于 2013-10-24T09:57:25.643 回答