2009-06-17 13 views

Répondre

2

mettre en œuvre la méthode suivante dans votre UITableViewController:

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath 

retourner ensuite nulle pour toute cellule que vous ne voulez pas sélectionnables (Vos cellules avec des boutons). Vous pouvez obtenir une explication supplémentaire à partir de la référence de protocole UITableViewDelegate.

de la référence de protocole UItableViewDelegate:

- (NSIndexPath *) tableView: (UITableView *) tableView willSelectRowAtIndexPath: (NSIndexPath *) indexPath

Paramètres tableView Un objet de table vue informer le délégué à propos de la sélection imminente.

indexPath Un chemin d'index localisant la ligne dans tableView.

Valeur de retour Un objet de chemin d'index qui confirme ou modifie la ligne sélectionnée. Renvoie un objet NSIndexPath autre que indexPath si vous souhaitez sélectionner une autre cellule . Renvoie zéro si vous ne souhaitez pas que la ligne soit sélectionnée pour .

Discussion Cette méthode est appelée jusqu'à ce que les utilisateurs touchent une rangée, puis soulevez doigt; la ligne n'est pas sélectionnée jusque-là, même si elle est mise en surbrillance lors de la mise à jour. Vous pouvez utiliser UITableViewCellSelectionStyleNone à désactiver l'apparition de la cellule mettre en évidence sur le toucher des touches.

+0

cela ne fonctionne pas –

+0

Vous ne savez pas ce que vous entendez par "ne fonctionne pas". Cna-tu être plus descriptif? Assurez-vous que votre UITableViewController est défini en tant que délégué pour UITableView. Définissez un point d'arrêt et assurez-vous que vous entrez dans la méthode. Cela peut être utile si vous pouvez publier du code. –

Questions connexes