Question

Si j'ai un UITableViewCell personnalisé qui n'utilise pas le textLabel intégré à la cellule, mais crée son propre dessin, comment puis-je modifier l'aspect du contentView lors de la sélection, comme pour le texte par défaut (personnalisable en définissant le selectedTextColor: )?

Si je change tableView: willSelectRowAtIndexPath: , il ne sera mis à jour que lorsque l'arrière-plan de sélection bleu sera activé, mais pas pendant qu'il est animé, comme je le souhaite.

Était-ce utile?

La solution

Ne sous-classez pas UITableViewCell et n’utilisez pas le comportement par défaut. Vous pouvez entièrement personnaliser une cellule sans aucun sous-classement.

Lisez cet article pour plus de détails.

Autres conseils

Ajoutez ce code dans votre méthode tableview cellForRowAtIndexPath et modifiez simplement la couleur attendue pour le style de sélection UITableViewCell.

   //-------------------------------------------------------------------------
   //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;
   //-------------------------------------------------------------------------

Si vous avez sous-classé une UITableViewCell, vous pouvez personnaliser les éléments de la cellule en remplaçant les éléments suivants:

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

    [super setHighlighted:highlighted animated:animated];
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top