J'ai une cellule que j'insère en haut d'un UITableView. Comment puis-je m'assurer que lorsque l'utilisateur clique sur la cellule, elle n'affiche pas l'indicateur bleu sélectionné?
Définissez style de sélection de UITableViewCell sur UITableViewCellSelectionStyleNone
Swift 5:
selectionStyle = .none
Pour rendre une cellule complètement non sélectionnable par cellule, deux choses sont nécessaires:
1- Comme d'autres l'ont dit:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
2- Implémentez cette méthode déléguée comme suit:
// Called before the user changes the selection. Return a new indexPath, or nil, to change the proposed selection.
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
if(cell.selectionStyle == UITableViewCellSelectionStyleNone){
return nil;
}
return indexPath;
}
tu peux faire
cell.selectionStyle = UITableViewCellSelectionStyleNone;
Syntaxe Swift:
cell.selectionStyle = UITableViewCellSelectionStyle.None
myTable.allowsSelection = false
pour Swift 3 vous pouvez utiliser
cell.isUserInteractionEnabled = false
Mettre à jour dans Swift 3:
cell.selectionStyle = UITableViewCellSelectionStyle.none
Pour Swift 3:
cell.selectionStyle = .none
Implémentez cette méthode de UITableViewDelegate
- (BOOL)tableView:(UITableView *)tableView shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath
{
return NO;
}