Ich möchte den Effekt erzielen, dass eine Zelle der Tabellenansicht einen blauen Hintergrund hat, die nächste weiß ist, die nächste wieder blau und dann wieder weiß und so weiter... Könnten Sie mir mitteilen, wie ich das machen kann?
Vielen Dank.
Ich möchte den Effekt erzielen, dass eine Zelle der Tabellenansicht einen blauen Hintergrund hat, die nächste weiß ist, die nächste wieder blau und dann wieder weiß und so weiter... Könnten Sie mir mitteilen, wie ich das machen kann?
Vielen Dank.
Wenn Sie die Standardeinstellung für die Tabellenzelle verwenden, färben die folgenden beiden Eigenschaften sowohl den Hintergrund der Zelle als auch die Hintergrundfarbe des Labels, ohne dass ein benutzerdefiniertes Label als Unteransicht des Inhalts der Zelle erstellt werden muss.
cell.textLabel.backgroundColor = [UIColor redColor];
cell.contentView.backgroundColor = [UIColor redColor];
//Zeitsparende Methode:
//In der Zellen für Index Methode:
static NSString* evenIdentifier = @"even";
static NSString* oddIdentifier = @"odd";
__weak NSString* identifier;
if(indexPath.row %2 ==0)
{
identifier = evenIdentifier;
}else{
identifier = oddIdentifier;
}
cell = dequeue..WithIdentifier: identifier;
if(cell == nil){
cell = allocOrLoadNib...;
cell.backgroundColor = (indexPath.row %2 ==0 ? evenColor : oddColor);
}
//Ändere den Zelleninhalt und gib sie dann zurück. Einfache Aufgabe.
//Das ist ein allgemeiner Code. Bitte kopiere diesen nicht direkt.
Dies hat für mich funktioniert.. In cellForRowAtIndexPath ,
cell.textLabel.backgroundColor = [UIColor clear];
cell.detailTextLabel.backgroundColor = [UIColor clearColor];
cell.contentView.backgroundColor = [UIColor grayColor]; //welche Farbe du möchtest
cell.backgroundColor = cell.contentView.backgroundColor;
Für deine Anforderung, wie bereits erwähnt, kannst du basierend auf dem indexPath % 2 Wert die obige Funktion ausführen.
Dieser Code ist eine etwas sauberere Lösung für den Fall, dass Sie das integrierte Textetikett verwenden und nicht möchten, dass die weiße Hintergrundfarbe des Textetiketts die Hintergrundfarbe verdeckt. Dies behebt auch das Problem, die abgerundeten Ecken eines gruppierten Style von TableView zu verletzen (was passiert, wenn Sie cell.contentView.backgroundColor anstelle von cell.backgroundColor verwenden):
UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.backgroundColor = [UIColor redColor];
cell.textLabel.backgroundColor = [UIColor clearColor]; //transparenter Hintergrund
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
Möglicher Duplikat: stackoverflow.com/questions/281515/…
1 Stimmen
@willcodejavaforfood das ist ein sehr unhilfreicher Kommentar und hat nichts mit der Frage des OPs zu tun