Come evidenziare una riga in NSTableView
-
16-09-2019 - |
Domanda
Ho NSTableView nella mia applicazione. ora dire è 8 colonne da 48 righe.
Ho una funzione che esegue una specifica una colonna specifica per vedere montone castrato o no il valore in ogni cella è maggiore di un certo valore. Se si tratta vorrei l'applicazione per evidenziare la riga.
Ho fatto qualche lettura e sto ancora cercando per le funzioni chiamate o un processo che mi permette di estrarre il cellule / file / o rect e fatemi cambiare il colore.
Quali sono le funzioni e le operazioni nel cambiare il colore delle cellule?
Soluzione
- [NSTableView selectRowIndexes:byExendingSelection:]
Altri suggerimenti
Per cambiare il colore della cella si può provare questo metodo
-(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
[cell setDrawsBackground:YES];
if(row==0)
[cell setBackgroundColor:[NSColor color];
else if(row==1||row==2)
[cell setBackgroundColor:[NSColor color];
else
[cell setBackgroundColor:[NSColor color];
}
questo renderà la vostra fila con colore differente.
Imposta un delegato tableView e attuare il
– tableView:dataCellForTableColumn:row:
metodo. Quindi scrivere un costume di classe DataCell per fare il disegno personalizzato.
Se si estraggono i dati come stringhe, è possibile utilizzare: -
NSAttributedString
per cambiare il colore del testo e sfondo.
-(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
... ti dà la cella di pre-made (di solito un NSTextFieldCell), che è possibile poi il colore. Non ha bisogno di restituirlo - Apple ha già fatto e sta per usarlo, basta modificare l'oggetto, come si vede in forma. Funziona alla grande.