NSTableView с пользовательским NSColumnHeaderCell - PullRequest
2 голосов
/ 24 июня 2010

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

-(void)setupTableHeader:(id)table {
 NSArray *columns = [table tableColumns];
    NSEnumerator *cols = [columns objectEnumerator];
    NSTableColumn *col = nil;

    TRDarkTableColumnHeaderCell *iHeaderCell;

    while (col = [cols nextObject]) {
        iHeaderCell = [[TRDarkTableColumnHeaderCell alloc] initTextCell:[[col headerCell] stringValue]];
        [col setHeaderCell:iHeaderCell];
        [iHeaderCell release];
    }
}

Это работает так, как вы ожидаете.Однако, когда размер моего окна изменяется, а NSTableView отображает полосы прокрутки, создается дополнительная ячейка заголовка со значением по умолчанию NSTableHeaderCell.Чтобы попытаться справиться с этим, я попытался настроить уведомление для запуска при изменении размера окна.К сожалению, это не имеет никакого эффекта (моя функция setupTableHeader все еще возвращает 1 столбец для таблицы)

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(setupTableHeaders) name:NSWindowDidResizeNotification object:[[NSApp delegate] window]];

Обратите внимание, что мое уведомление вызывает вспомогательную функцию setupTableHeaders, которая вызывает функцию setupTableHeader, упомянутую выше.Вот скриншот, чтобы проиллюстрировать проблему:

альтернативный текст http://img22.imageshack.us/img22/640/headercell.png

1 Ответ

2 голосов
/ 24 июня 2010

Это угловой вид. Попробуйте:

[table setCornerView:nil];

Возможно, вам также придется заменить представление заголовка таблицы на собственный подкласс, который рисует тот же фон, если изменение размера столбца позволяет общей ширине всех столбцов быть меньше ширины таблицы (открывая «пустую» область заголовка рисуется ячейкой заголовка по умолчанию).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...