NSTableview Change the highlight colour

南笙酒味 提交于 2019-12-04 23:15:48

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!