Ячейка заголовка NSOutlineView на основе представления проблемы со шрифтами

В настоящее время я пытаюсь использовать новый NSOutlineView на основе представления в моем приложении Какао. Поскольку я не использую привязки, я реализовал все необходимые методы делегата и источника данных в своем контроллере.

В построителе интерфейса я добавил NSOutlineView с выделением, установленным на SourceList , и режимом содержимого, установленным на View Based . Таким образом, было предоставлено два представления ячеек таблицы по умолчанию (одна ячейка заголовка с HeaderCell , установленная в качестве идентификатора, и одна ячейка данных с DataCell , установленная в качестве идентификатора)

Вот как это выглядит в построителе интерфейса в представлениях ячеек заголовка правильно отображается серо-синее текстовое поле , в то время как представления ячеек данных имеют представление изображения и текстовое поле с правильными настройками цвета и шрифта.

Чтобы предоставить представления, я использую следующий код, чтобы вернуть представление DataCell или представление HeaderCell и установить текстовое поле ячейки соответственно на основе соответствующего идентификатора, установленного в построителе интерфейса.

- (NSView *)outlineView:(NSOutlineView *)outlineView 
     viewForTableColumn:(NSTableColumn *)tableColumn 
                   item:(id)item {


    NSTableCellView *result = nil;

    if ([item isKindOfClass:[NSMutableDictionary class]]) {
        result = [outlineView makeViewWithIdentifier:@"HeaderCell" owner:self];

        id parentObject = [outlineView parentForItem:item] ? [outlineView parentForItem:item] : groupedRoster;
        [[result textField] setStringValue:[[parentObject allKeys] objectAtIndex:0]];


    } else {
        result = [outlineView makeViewWithIdentifier:@"DataCell" owner:self];

        [item nickname] ? [[result textField] setStringValue:[item nickname]] : [[result textField] setStringValue:[[item jid] bare]];
    }
    return result;
}

Запускаем все это выглядит следующим образом.

Может ли кто-нибудь дать мне подсказку, почему ячейка заголовка не выделена жирным шрифтом и не окрашена правильно при выборе?

5
задан jtbandes 17 August 2011 в 17:47
поделиться