J'écris une application iOS avec une vue tableau dans une vue onglet. Dans mon UITableViewController
j'ai mis en place -tableView:didSelectRowAtIndexPath:
mais lorsque je sélectionne une ligne au moment de l'exécution, la méthode n'est pas appelée. La vue de la table est pourtant remplie, et je sais donc que d'autres méthodes tableView de mon contrôleur sont appelées.
Quelqu'un a-t-il une idée de ce que j'ai pu foirer pour que cela se produise ?
80 votes
Il se peut aussi que vous ayez un gestureRecognizer au-dessus de l'UITableView qui absorbe la sélection (c'est une des possibilités).
0 votes
Attention si la vue de la table se remplit, cela signifie que le DataSource est bien réglé. La sélection fait partie des méthodes du Delegate. Donc peut-être que la DataSource est bien configurée mais pas le Delegate !
1 votes
Bonjour M.Othman, votre commentaire correspond exactement à ce qui n'allait pas dans mon propre problème. Savez-vous comment faire pour que gestureRecognizer fonctionne "avec" l'interface de l'utilisateur ?
UITableView
?15 votes
J'ai remarqué que si j'appuie sur le bouton et le maintiens, le bouton finit par appeler.
-didSelectRowAtIndexPath
. J'ai compris que c'est parce que j'ai un reconnaissant de geste de tapotement sur la table et que le geste doit d'abord échouer avant de recevoir le toucher. C'est bizarre que l'animation de sélection de la table ne soit pas affectée par la reconnaissance des gestes.6 votes
J'ai eu le même problème ici et j'ai eu la chance d'apprendre que vous ne pouvez pas avoir un gestureRecognizer au dessus de l'UITableView. Merci M. Othman !