2010-10-13 6 views
1

Dans mon tableview normale, je suis un groupe de commutateurs et segments, et je ne les aurez pas à être sélectionné, donc je mets:Comment faire une seule cellule sélectionnable

tableView.allowsSelection = FALSE; 

maintenant l'une des cellules, je habitude de pointer vers une nouvelle vue, et ainsi le rendre sélectionnable. Mais il n'y a pas de cell.allowSelection ou quoi que ce soit, comment puis-je résoudre ce problème. Comment puis-je le faire, afin qu'il puisse être poussé et vous diriger vers une autre vue. Je ne les ai pas tous pour être sélectionnable, puisque c'est moche ...

Répondre

3

Il n'y a pas une propriété sur les cellules, mais il y a une propriété similaire.

Définissez cell.selectionStyle sur UITableViewCellSelectionStyleNone pour les cellules que vous ne voulez pas que l'utilisateur puisse sélectionner.

(Vous devrez configurer table.allowsSelection revenir à YES.)

Configuré cette façon, vous aurez toujours -tableView:didSelectRowAtIndexPath: pour toute cellule l'utilisateur tape; il suffit de l'ignorer pour les cellules que vous ne souhaitez pas sélectionner. (Merci tc.)

+2

L'utilisateur * peut * sélectionner ces cellules (vous obtenez toujours -tableView: didSelectRowAtIndexPath :); c'est juste pas visible. –

+0

Oui, vous ignorez simplement ces sélections. Si la sélection n'apparaît pas et ne fait rien, elle pourrait aussi bien ne pas être là. Je vais ajouter une note à ce sujet, cependant. :) –

+0

Fonctionne comme un charme. Et merci tc, de souligner le fait que le délégué est appelé quand même ... –

Questions connexes