问题
I am developing a MAC application and included the tableView. Want to change the Colour of selected row to yellow.
回答1:
Set this on your table view:
[yourtableview setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleNone];
And implement the following delegate method of NSTableView as:
- (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];
}
回答2:
If you want to heighlight only individual cell of column then implement like this below:-
- (void)tableView:(NSTableView *)tableView
willDisplayCell:(id)cell
forTableColumn:(NSTableColumn *)tableColumn
row:(NSInteger)row
{
if ([[tableColumn identifier] isEqualToString:@"yourColumm"])
{
[cell setBackgroundColor:[NSColor yelloColor]];
}
}
来源:https://stackoverflow.com/questions/19559855/nstableview-change-the-highlight-colour