web-dev-qa-db-fra.com

Supprimer la couleur de surbrillance de cellule de UITableView

Je souhaite supprimer la couleur bleue par défaut de la sélection de cellule uitableview. Je ne veux aucune couleur de sélection là-bas. Je n'ai pas créé de classe de cellule personnalisée. Je personnalise la cellule en ajoutant des étiquettes et des boutons dessus. J'ai essayé de faire:

cell.selectioncolor = [UIColor clearcolor];

mais il dit que cette méthode est déconseillée.

91
neha
cell.selectionStyle = UITableViewCellSelectionStyleNone;

dans Swift 4 mis à jour

cell.selectionStyle = UITableViewCell.SelectionStyle.none

Ou

cell.selectionStyle = .none
278
Vladimir

Sélectionnez ceci dans Storyboard ou XIB


enter image description here

41
Michael
// Swift 2.0

cell.selectionStyle = UITableViewCellSelectionStyle.None
11
Joey Wong

Swift 3.0

cell.selectionStyle = .none
10
Rashwan L

Objectif c:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

ou

[cell setSelectionStyle:UITableViewCellSelectionStyleNone];

Swift 4:

self.selectionStyle = UITableViewCellSelectionStyle.none;

Swift 3:

cell.selectionStyle = .none

Swift 2:

cell.selectionStyle = UITableViewCellSelectionStyle.None

Si vous souhaitez le modifier en utilisant simplement Storyboard/Xib, sélectionnez simplement la cellule à laquelle vous souhaitez supprimer l '"effet de style de sélection" et définissez-le comme "Aucun". Cela fonctionnera aussi comme par magie: D

Storyboard/Xib

5
Frantiesco Masutti

Essayez ceci pour Swift

cell?.selectionStyle = UITableViewCellSelectionStyle.None
4
Jugal K Balara

La définition du style de sélection TableView sur .none Affectait la réactivité et les performances de la vue table dans mon application (les tapotements didSelectRowAt indexPath Étaient retardés). Ma solution à ce problème était de masquer la vue d'arrière-plan sélectionnée sur awakeFromNib() lors de la première création de la cellule:

selectedBackgroundView?.isHidden = true

1
lynchspin