Мне нужно изменить следующие свойства для моего NSTable View 1 - Изменить цвет: Цвет строки и Цвет текста при его выборе 2 - Изменить цвет текста, для каждой строки это зависит от некоторого входного параметра,
Чтобы изменить цвет текста для каждой строки, я должен переопределить метод делегата 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:]: нераспознанный селектор, отправленный экземпляру.Понятия не имею, пожалуйста, помогите мне,
Другое дело, что изначально я не нуждаюсь в каком-либо фоне для ячейки, но однажды, когда ячейка выбрана, тогда мне также может понадобиться изменить фон или вы можете выделитьцвет, могу ли я получить то же самое в УиллеDIsplayCell тоже