2011-01-19 4 views
4

J'ai une vue de table et je voudrais mettre en évidence la cellule sélectionnée sur les utilisateurs, cliquez sur comment ferais-je cela?Mettre en surbrillance Ligne sélectionnée

(void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath {

Merci

Mason

Répondre

5

Le message "didSelect ..." est envoyé au UITableViewDelegate (votre classe, une fois que l'utilisateur a déjà sélectionné la ligne). Ainsi, au moment où vous avez obtenu cette fonction, la ligne est sélectionnée. Vous n'avez pas besoin de le sélectionner manuellement. Notez la description de la fonction "didSelect ..." here.

Mais vous pouvez sélectionner des lignes manuellement (en général) en envoyant selectRowAtIndexPath:animated:scrollPosition: à la vue tableau.

Vous pouvez trouver plus de détails à partir du UITableView documentation.

+0

désolé mais je ne comprends pas, avez-vous un exemple? – user393273

+0

+1 pour contrer le -1: la réponse est correcte, ne pas downvote si vous ne comprenez pas. –

+0

j'ai voté puis – user393273

2

Lorsqu'un utilisateur clique sur une cellule, elle est automatiquement mise en surbrillance. Pour mettre en surbrillance (comme la plupart des applications le font immédiatement (pour obtenir le «clic sur le bouton»), vous devez utiliser -deselectRowAtIndexPath: animated: comme première ligne de la méthode didSelectRowAtIndexPath:.

+0

mais le mien dosent montrer un point culminant du tout est parce que j'utilise didselectrowindindexpath – user393273

+0

Non. Si la cellule reçoit l'action (pas un bouton sur elle ou une vue accessoire ou etc), il souligne * avant * didSelectRowAtIndexPath: est même exécuté. Cela fait partie du travail de UITableViewController. Remarque: il est possible d'avoir désactivé cette surbrillance automatique dans IB ou dans le code de la cellule spécifique. –

+0

Eh bien, ce n'est pas pour moi: s – user393273

Questions connexes