NSTableview Изменить цвет подсветки

Я разрабатываю приложение MAC и включил tableView. Хотите изменить цвет выбранной строки на желтый.

2 ответа

Решение

Установите это на вашем табличном представлении:

[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];
}  

Если вы хотите выделить только отдельную ячейку столбца, то примените следующее:

- (void)tableView:(NSTableView *)tableView
  willDisplayCell:(id)cell
   forTableColumn:(NSTableColumn *)tableColumn
              row:(NSInteger)row
{
    if ([[tableColumn identifier] isEqualToString:@"yourColumm"])
    {
        [cell setBackgroundColor:[NSColor yelloColor]];
    }
}
Другие вопросы по тегам