Domanda

Ho bisogno di cambiare seguenti proprietà per il mio NSTable View 1 - Cambia colore: colore Row e il colore del testo selezionato quando il suo 2 - Modificare il colore del testo, per ogni riga dipende da alcuni parametri di input,

Per cambiare textcolor per ogni riga, dovrei ignorare metodo delegato willDisplayCell, questo è quello che ho fatto, fino ad ora,

- Creazione della tabella ----

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]

;

--- Altro delegato Metodo -------------

- (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";

    }

}

---- Ora, questo è come io pongo il colore del testo ---

- (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]];
    }

}

Con il codice di cui sopra, la sua intenzione di eccezione nel registro, ho potuto vedere la linea - [NSCell SetTextColor:]: selettore non riconosciuto inviato ad esempio Looks come da qualche parte ho bisogno di impostare la cella campo di testo, ma come e dove non ho idea, aiuto gentilmente,

Un'altra cosa è, inizialmente non ho bisogno di alcun fondo per la cellula, ma una volta che quando si seleziona cellule, poi anche potrei aver bisogno di cambiare lo sfondo o si può dire colore di evidenziazione, posso ottenere lo stesso in WillDIsplayCell troppo

È stato utile?

Soluzione

E 'stato un po' che ho fatto questo, ma ho sempre fare riferimento a questo post sul blog di Corbin Dunn quando ho bisogno di farlo: cacao: willDisplayCell metodo delegato di NSTableView, [NSCell SetTextColor], e‘liste source’

A proposito, Corbin lavora alla Apple e da quanto ho capito è responsabile NSTableView. Quando i blog di nulla Cacao ho sempre essere sicuri di un segnalibro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top