Я использую один и тот же NSTableCellView
как для верхнего уровня, так и для других предметов.Я устанавливаю цвет текста одинаково для всех элементов:
- (nullable NSView*) outlineView:(NSOutlineView *)outlineView viewForTableColumn:(nullable NSTableColumn *)tableColumn item:(id)item_;
{
NSTableCellView *cell = [outlineView makeViewWithIdentifier:@"DataCell" owner:self];
cell.textField.stringValue = @"hi";
cell.textField.textColor = NSColor.redColor;
return cell;
}
В результате элементы верхнего уровня имеют некоторый системный цвет - не красный.
![enter image description here](https://i.stack.imgur.com/sojQ2.png)
Мой оставшийся соответствующий код:
- (BOOL) outlineView:(NSOutlineView *)outlineView isGroupItem:(id)item_;
{
return YES // only for the first item;
}
Я пытался создать подкласс NSTableHeaderCell
, как советовали в других темах, но он не работает.
Вот как я пытаюсь изменить headerCells:
- (void) viewDidLoad;
{
for (NSTableColumn *col in self.ov_sidebar.tableColumns) {
col.headerCell = [NCTableHeaderCell_customizable new];
}
self.ov_sidebar.delegate = self;
self.ov_sidebar.dataSource = self;
}
Но ни один из методов NCTableHeaderCell_customizable
overiden не вызывается.Поэтому я думаю, что настраиваемые headerCells должны быть установлены другим способом.Скорее всего, это даже не правильный способ изменить цвет текста.
Есть ли у вас какие-либо подсказки, как правильно установить цвет текста для элементов верхнего уровня NSOutlineView?
Один из возможных вариантов при изменении«Highlight» из «Source List» в «None», тогда он показывает список следующим образом:
![enter image description here](https://i.stack.imgur.com/YgK2h.png)
Он имеет правильный цвет шрифта, но нежелательное форматированиес раскрытием и фоном с границей.
Итак, я продолжу в том же духе и попытаюсь исправить это форматирование по мере необходимости, или есть решение с «Списком источников»?