Potrzebuję zmienić następujące właściwości dla mojego widoku NSTable 1 - Zmień kolor: Kolor wiersza i Kolor tekstu, gdy jest wybrany 2 - Zmień kolor tekstu, dla każdego wiersza zależy od jakiś parametr wejściowy,NSTableView Zmiana koloru tekstu dla wiersza
do zmiany textColor dla każdego wiersza, i powinny przesłonić metodę delegat willDisplayCell, to co mam zrobić, aż do teraz,
- Tworzenie tabeli ----
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]
;
- - Inny delegat Metoda -------------
- (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";
}
}
---- Teraz jest to jak mam ustawienie koloru tekstu ---
- (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]];
}
}
Z powyższy kod, jego wyjście do wyjątku w dzienniku, mogłem zobaczyć linię - [NSCell setTextColor:]: nierozpoznany selektor wysłany do instancji Wygląda jak gdzieś muszę ustawić komórkę pola tekstowego, ale jak i gdzie nie mam pojęcia , uprzejmie pomóż mi,
Kolejna rzecz s, Początkowo nie potrzebuję żadnego tła dla komórki, ale raz, gdy komórka jest wybrana, wtedy też muszę zmienić tło lub możesz powiedzieć kolor podświetlenia, czy mogę uzyskać to samo w WillDIsplayCell również
Dzięki, pozwól mi spróbować :) – Amitg2k12
Dzięki, działa jak Magic – Amitg2k12
Cieszę się, że pomogłem. – sosborn