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, il n'affiche pas l'indicateur bleu sélectionné?Comment rendre une cellule sur un UITableView non sélectionnable?
Répondre
Réglez le selection style of the UITableViewCell-UITableViewCellSelectionStyleNone
vous pouvez faire
cell.selectionStyle = UITableViewCellSelectionStyleNone;
Un point est manquant. Voici la version corrigée: cell.selectionStyle = UITableViewCellSelectionStyle.None –
Pour le rendre complètement deux choses non sélectionnables sont nécessaires:
1- Comme d'autres ont dit:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
2- Vous devez implémenter cette méthode de délégation:
// 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;
}
Swift Syntaxe:
cell.selectionStyle = UITableViewCellSelectionStyle.None
Mettre en oeuvre cette method de UITableViewDelegate
- (BOOL)tableView:(UITableView *)tableView shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath
{
return NO;
}
myTable.allowsSelection = false
Mise à jour à Swift 3:
cell.selectionStyle = UITableViewCellSelectionStyle.none
Swift 3:
cell.selectionStyle = .none
Comme suggéré ci-dessus "Cela ne rend pas la cellule non-sélectionnable, cela signifie simplement que l'aspect visuel de la cellule ne change pas quand il est sélectionné tableView: didSelectRowAtIndexPath : toujours appelé lorsque la cellule est sélectionnée Pour empêcher la sélection, vous devez implémenter tableView: willSelectRowAtIndexPath: sur votre UITableViewDelegate et renvoyer zéro pour les lignes non sélectionnables - " – Siyavash
@Siyavash comme indiqué dans la question initiale, cette personne ne veut que cacher "l'indicateur bleu sélectionné". Ce n'est pas la même chose que de vouloir le rendre complètement non sélectionnable. Tout simplement, la personne qui pose la question essaie seulement de cacher l'indication visuelle d'une sélection. –
Swift 3 vous pouvez utiliser
cell.isUserInteractionEnabled = false
pouvez juste ajouter des informations – Kondal
juste après ce code dans cellForRowAt méthode indexPath de vue de la table, son –
simple cette méthode est utile lorsque vous voulez désactiver l'interaction utilisateur sur la vue de la table sinon vous pouvez utiliser le partage de méthode par Mr Ben Below –
- 1. Comment faire une seule cellule sélectionnable
- 2. Rendre le contrôle HTML Flex non sélectionnable
- 3. Comment rendre une zone d'image sélectionnable?
- 4. Comment rendre jList sélectionnable dans un jTable
- 5. Rendre WPF ListBoxItems sélectionnable
- 6. Comment créer un noeud TreeView non sélectionnable?
- 7. uipickerviews à l'intérieur de la cellule de tableau non sélectionnable
- 8. UISwitch dans une cellule UITableView
- 9. Comment démarrer UITableView sur la dernière cellule?
- 10. UITableView Ajouter une cellule Animation
- 11. JQuery UI Plugin sélectionnable: Rendre la barre de défilement non sélectionnable lorsque div déborde
- 12. Comment dire quelle cellule dans un UITableView?
- 13. Existe-t-il un moyen de rendre un tag img non sélectionnable dans un navigateur?
- 14. Comment rendre une cellule de TAdvStringGrid modifiable?
- 15. Liste déroulante non sélectionnable
- 16. Arrêter une cellule dans un UITableView d'être modifiable
- 17. UITableView problème d'actualisation de cellule sur réorganiser
- 18. Est-il possible de rendre un élément d'un contrôle Liste flexible non sélectionnable?
- 19. Rendre la table HTML triable et sélectionnable
- 20. Rendre la liste déroulante non sélectionnable? ou une meilleure interface utilisateur?
- 21. UITableView avec une seule cellule personnalisée? (iPhone)
- 22. Supprimer une cellule de UITableView par programme
- 23. UITableView avec cellule personnalisée
- 24. Comment sélectionner une cellule en mode d'édition de UITableView?
- 25. Comment créer TreeViewItem non sélectionnable dans WPF
- 26. Comment puis-je faire que le bouton sélectionnable dans une cellule?
- 27. Ajout d'un UIPageControll à une cellule UITableView
- 28. Comment définir une uitableviewcell non cliquable sur l'iphone sdk
- 29. Comment bloquer une cellule UITableView d'être supprimée dans l'iPhone
- 30. Question sur UITableView
Cela ne fait pas non sélectionnable la cellule elle signifie simplement que l'apparence visuelle de la cellule ne change pas lorsqu'elle est sélectionnée. 'tableView: didSelectRowAtIndexPath:' est toujours appelé quand la cellule est tapée. Pour empêcher la sélection, vous devez [implémenter tableView: willSelectRowAtIndexPath:] (http: // stackoverflow.com/a/812921/172218) sur votre UITableViewDelegate' et renvoyez zéro pour les lignes non sélectionnables. –
Swift 3 - 'cell.selectionStyle = UITableViewCellSelectionStyle.none' – John