Вопрос

Мне нужно изменить следующие свойства для моего NSTABLE View 1 - Изменить цвет: цвет строк и цвет текста, когда он выбран 2 - Измените цвет текста, для каждой строки это зависит от некоторого входного параметра,

Для изменения TextColor для каждой строки, я должен переопределить метод делегата WillDisplayCell, это то, что я сделал, до сих пор,

-Создание таблицы ----

pMyTableView       = [[[CustomTableView alloc] initWithFrame:clipViewBounds] autorelease];


NSTableColumn*  firstColumn     = [[[NSTableColumn alloc] initWithIdentifier:@"firstColumn"] autorelease];

[firstColumn setWidth:35];

[pMyTableView  addTableColumn:firstColumn];

NSTableColumn*  secondColumn        = [[[NSTableColumn alloc] initWithIdentifier:@"secondColumn"] autorelease];

[secondColumn setWidth:180];

[pMyTableView  addTableColumn:secondColumn];
    [pMyTableView setRowHeight:30];

    [self SetContactTableDisplayAttribute];

[pMyTableView setDataSource:self];
[scrollView setDocumentView:pOnLineCTView];

    [pMyTableView setDelegate:self]

;

--- Другой метод делегата -------------

- (id) tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex{
    if([pColName isEqualToString:@"secondColumn"]) 
    {
           // Here there is some logic , to get the proper string that i wanted to display
        return @"tempString";

    }

}

---- Теперь вот как я настраиваю цвет текста ---

- (void)tableView:(NSTableView *)aTableView willDisplayCell:(id)aCell forTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex {

    NSString *colName = [aTableColumn identifier];
    if([colName isEqualToString:@"secondColumn"]){
        NSTextFieldCell *pCell = aCell;
        [pCell setTextColor:[NSColor blueColor]];
    }

}

С приведенным выше кодом, его исключение в журнале я мог видеть строку -[nscell setTextColor:]: не распознанный селектор, отправленный в экземпляр , любезно помогите мне,

Другое дело, что изначально мне не нужен фон для ячейки, но как только при выборе ячейки, мне также может потребоваться изменить фон, или вы можете сказать, что выделите цвет, могу ли я получить то же самое в Willdisplaycell тоже

Это было полезно?

Решение

Прошло много времени с тех пор, как я это сделал, но я всегда ссылаюсь на этот пост в блоге Корбина Данна, когда мне нужно это сделать: Какао: Willdisplaycell Делегированный метод NstableView, [nscell setTextColor] и «Списки источников»

Кстати, Корбин работает в Apple, и из того, что я понимаю, отвечает за nstableView. Когда он ведет блог о чем -либо какао, я всегда обязательно добавлю его в закладки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top