Nach einer Reihe ausgewählt ist, in einer Tabelle anzeigen, wie greife ich auf die Zeilen, die nicht ausgewählten label text ändern seine Farbe
Nach einer Tabelle Anzeigen wird angezeigt und eine Zeile ausgewählt habe ich die Farbe ändern wollen, alle die nicht-ausgewählten Zeilen der Tabelle eine Beschriftung, Farbe blau.. Strömung innerhalb der case-Anweisung ändern kann ich die aktuelle ausgewählte Zeile eine Beschriftung, aber mit diesem Fall weiß ich nicht, wie Sie auf die anderen Zeilen Beschriftung.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
switch (indexPath.row) {
case 0:
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.textLabel.textColor = [UIColor yellowColor];
//******* NEED TO CHANGE ALL OTHER ROWS TEXT LABEL TO BLUE
break;
case 1:
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.textLabel.textColor = [UIColor yellowColor];
//******* NEED TO CHANGE ALL OTHER ROWS TEXT LABEL TO BLUE
break;
default:
break;
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwaltung Zelle-Auswahl-Zustand aus der Tabelle anzeigen die Stellvertretung wird nur unnötig schwer. Sie speichern könnte die index-Pfad der ausgewählten Zelle, rufen Sie die Tabellenansicht ist
cellForRowAtIndexPath:
Methode, um die ehemals ausgewählten Zelle, und setzen Sie die label-Farbe. Aber Sie wissen nicht, dass die ehemals ausgewählten Zelle ist auch noch sichtbar oder geladen werden.Besser, eine UITableViewCell Unterklasse implementiert die
setSelected:
zur Aktualisierung seiner eigenen Sicht. Auf diese Weise wird Ihr table view delegate muss nur die Zelle, die selected-Eigenschaft und die Zelle ist verantwortlich für die Aktualisierung seiner eigenen Ansicht entsprechend. Das wird auch erlauben, Sie zu implementierenperpareForReuse
zurücksetzen Ihrer Zellen Ansichten, so dass Sie nicht brauchen, um über die Wiederverwendung eines ehemals ausgewählten Zelle und unerwartet die Anzeige einer Zelle in einem ausgewählten Zustand.Halten eine variable, z.B. ein
NSInteger
genanntselectedCell
, dass die tracks der ausgewählten Zelle. Ändern Sie die ausgewählte Zelle, und laden Sie dann die sichtbaren Zellen.In
tableView:cellForRowAtIndexPath:
überprüfen Sie die variable und den Stil der Beschriftung entsprechend.So, in
tableView:cellForRowAtIndexPath:
Jubel
Sascha
tableView:cellForRowAtIndexPath:
. Es erfolgt automatisch durch den Aufruf[tableView reloadData]
oben.Hoffe, dies wird Ihnen helfen,
Happy coding