Faire des cellules non cliquable, mais sur un bouton, il doit quand même être cliquable
J'ai un tableView avec des cellules. Chaque cellule contient également un bouton. Lorsque l'utilisateur clique sur le bouton, la cellule doit être unclickable, mais pas le bouton. Ainsi, lorsque l'utilisateur clique sur le bouton d'une cellule qui n'est pas cliquable, cette cellule doit être cliquable de nouveau.
J'ai essayé:
cell.userInteractionEnabled = NO;
...mais le bouton n'est pas cliquable plus.
Grâce à votre effort à l'avance.
MODIFIER
Je veux dire: Quand je clique sur une cellule, une nouvelle fenêtre s'ouvre. Mais je veux, qu'aucune action ne se produit, lorsque la cellule n'est pas "cliquable".
- Essayez de définir
userInteractionEnabled
sur les contrôles individuels. - Mais comment puis-je faire cela?
Vous devez vous connecter pour publier un commentaire.
Unclickable de quelle manière? Si vous voulez juste la cellule pour ne pas être sélectionnables, vous êtes probablement à la recherche pour cette:
Si vous voulez éviter que votre code à exécuter lorsque la sélection est désactivé, il suffit de cocher pour la sélection des biens à l'intérieur de votre
didSelectRowAtIndexPath:
méthode. Quelque chose comme ceci:Rappelez-vous, vous avez encore à jouer avec cette propriété, réglage de
UITableViewCellSelectionStyleNone
lorsque vous ne voulez pas de la cellule pour être sélectionnable, et de revenir àUITableViewCellSelectionStyleBlue
(ouUITableViewCellSelectionStyleGray
) lorsque vous voulez qu'il soit de nouveau sélectionnable.prepareForSegue
méthode que j'utilise storyboard?prepareForSegue
vous n'avez pas de référence à la indexPath sélectionné (et par conséquent de la cellule), de sorte que vous avez à stocker la cellule sélectionnée dans certains variable d'instance ou quelque chose comme ça. Si la réponse vous a aidé, n'oubliez pas de l'accepter pour supprimer votre question à partir de la Réponse de la section!cell.selectionStyle = .None;
Swift version:
Supprimer la sélection par la mise en
UITableViewCellSelectionStyleNone
comme leselectionStyle
.Et de ne rien faire dans
-tableView:didSelectRowAtIndexPath:
Vous pouvez être sélectif dans ce délégué de la méthode, par exemple, si seule la première ligne de la première section a le bouton et n'ont rien à faire :
Cela peut aussi être fait par le biais de l'Interface Builder en utilisant Défini par l'Utilisateur Runtime Attributs sur le TableViewCell:
Key Path | Type | Value
selectionStyle | Number | 0
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewCell_Class/#//apple_ref/c/tdef/UITableViewCellStyle