Why is the NSTableRowView solution a problem? In view-based tables, each row consists of two main views:
- An NSTableCellView. Since table views can have multiple columns, each row contains an NSTableCellView for each column in the table.
- An NSTableRowView. This is displayed behind the NSTableCellViews for each row in the table. By default, this is the view which displays the blue background.
There's a good diagram showing this in Apple's documentation.
As such, creating your own NSTableRowView which draws the red/orange background would be a good way of achieving what you want as it sits behind the NSTableCellViews for the row. You can set these rows up and return them in the - tableView:rowViewForRow:
NSTableViewDelegate method.