Frage

Wenn ich eine benutzerdefinierte UITableViewCell haben, die nicht die textLabel in die Zelle eingebaut nicht verwendet, sondern hat seine eigene Zeichnung, wie kann ich das Aussehen des contentView auf getroffene Auswahl zu ändern, wie es automatisch für den Standardtext tut (anpassbar durch die selectedTextColor: Einstellung)?

Wenn ich tableView:willSelectRowAtIndexPath: ändern, dann ist es nur Updates nach dem blauen Auswahl Hintergrund ist, aber nicht, während es Animieren, wie ich will.

War es hilfreich?

Lösung

Nur nicht UITableViewCell Unterklasse und das Standardverhalten verwenden. Sie können vollständig eine Zelle anpassen, ohne Subclassing.

Lesen Sie diesem Artikel für weitere Details.

Andere Tipps

Fügen Sie diesen Code in Ihren Tableview cellForRowAtIndexPath Methode und nur erwartete Farbe für Stil UITableViewCell getroffene Auswahl ändern.

   //-------------------------------------------------------------------------
   //background selected view 
   UIView *viwSelectedBackgroundView=[[UIView alloc]init];
   viwSelectedBackgroundView.backgroundColor=[UIColor colorWithRed:124.0/255.0 green:202.0/255.0 blue:227.0/255.0 alpha:1.0];
   cell.selectedBackgroundView=viwSelectedBackgroundView;
   //-------------------------------------------------------------------------

Wenn Sie eine UITableViewCell subclassed haben, dann können Sie die Elemente der Zelle anpassen durch zwingende die folgenden:

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
    if(highlighted) {
        self.backgroundColor = [UIColor redColor];
    } else {
        self.backgroundColor = [UIColor clearColor];
    }

    [super setHighlighted:highlighted animated:animated];
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top