UITableViewCell personnalisé avec image pour la mise en évidence

J'ai un UITableViewCell personnalisé (instancié à partir de XIB) avec une image en arrière-plan. Maintenant je veux qu'une autre image soit l'arrière-plan quand la cellule est sélectionnée (semblable au clignotement bleu pour des cellules standard). J'ai déjà essayé de le définir à l'aide de setSelectedBackgroundView dans (void)setSelected:(BOOL)selected animated:(BOOL)animated ou même dans didSelectRowAtIndexPath mais l'arrière-plan pour la mise en évidence ne s'affichera pas. Qu'est-ce que je fais mal?

Dans votre cellule personnalisée .xib

entrez la description de l'image ici

Ensuite, faites ceci

entrez la description de l'image ici

Et enfin faire ceci

entrez le code ici

avez-vous essayé comme ci-dessous un

Appelez la méthode ci-dessous à partir de la méthode TableView DataSource (cellForAtIndexPath) pour effectuer la même tâche

  - (void)setCellBGColorNormalAndSelectedForTableViewCell:(UITableViewCell*)cell cellForRowAtIndexPath:(NSIndexPath*)indexPath { UIImageView *normalCellBG = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)]; [normalCellBG setImage:[UIImage imageNamed:@"box_nonselected.png"]];//Set Image for Normal [normalCellBG setBackgroundColor:[UIColor clearColor]]; [cell setBackgroundView:normalCellBG]; UIImageView *selecetedCellBG = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)]; [selecetedCellBG setImage:[UIImage imageNamed:@"box_selected.png"]];//Set Name for selected Cell [selecetedCellBG setBackgroundColor:[UIColor clearColor]]; [cell setSelectedBackgroundView:selecetedCellBG ]; } 

Vous pouvez définir la vue d'arrière-plan sélectionnée en utilisant le XIB vous avez créé pour CustomCell . Vous avez juste besoin de prendre UIImageView sur ce XIB ( imageview doit avoir la même hauteur que celle de CustomCell ). Maintenant, connectez le nom de sortie " selectedBackgroundView " pour ce CustomCell à UIImageView vous avez pris comme vue d'arrière-plan sélectionnée. Vérifiez également si le CustomCell selectionStyle pour ce CustomCell n'est pas none.