Frage

Ich habe NSTableView in meiner Anwendung. jetzt sagen, ist 8 Spalten von 48 Zeilen.

Ich habe eine Funktion, die eine bestimmte eine bestimmte Spalte läuft, ob zu sehen oder nicht der Wert in jeder Zelle größer ist als ein bestimmter Wert. Wenn es ist, würde ich die Anwendung mag die Zeile zu markieren.

habe ich etwas zu lesen und ich bin immer noch die Suche nach den Funktionen aufruft oder ein Prozess, den ich die Zellen / Zeilen / oder rect extrahieren lassen und lassen Sie mich die Farbe ändern.

Was sind die Funktionen und die Schritte in der Farbe der Zellen zu ändern?

War es hilfreich?

Lösung

- [NSTableView selectRowIndexes:byExendingSelection:]

Quelle

Andere Tipps

Um die Farbe der Zelle zu verändern können Sie versuchen, diese Methode

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

wird dies Ihre Reihe mit unterschiedlichen Farben machen.

Stellen Sie einen Tableview Delegierten und implementieren die

– tableView:dataCellForTableColumn:row:

Methode. Dann schreiben Sie eine benutzerdefinierte Datacell-Klasse die individuelle Zeichnung zu tun.

Wenn Sie die Daten als Zeichenfolgen zu extrahieren, können Sie: -

NSAttributedString

die Farbe von Text und Hintergrund zu ändern.

-(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row

... gibt Ihnen die vorgefertigte Zelle (in der Regel ein NSTextFieldCell) die Sie dann Farbe. Sie nicht darauf zurückkommen müssen - Apple hat bereits gemacht und ist darüber zu verwenden, ändern nur das Objekt, wie Sie für richtig halten. Funktioniert prima.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top