2012-02-09 5 views
1

J'ai un UITableView que pour les en-têtes de section a des dates. Je voudrais faire défiler jusqu'à un en-tête de section quand un utilisateur appuie sur le bouton «Aujourd'hui». Comment est-ce que je devrais faire défiler vers une section basée sur le texte dans le titre de section?iOS: TableView défiler vers la section

+0

Voir http://stackoverflow.com/questions/4597839/iphone-how-to-scroll-to-the-1st-cell-of-the-2nd-section-letting-the-header-of –

+0

@ConradShultz cela fonctionnerait si la date était toujours dans la même section. – Bot

+0

Vous aurez besoin de comprendre la section pour la date en utilisant votre modèle de données. La façon dont vous faites cela dépend de la structure du modèle/de la source de données. Je pensais que vous étiez en train de poser des questions sur le défilement. Avez-vous également besoin de savoir comment trouver l'index de la section? –

Répondre

0

Une fois que vous expliquez votre modèle de données, nous pouvons vous aider à trouver l'index de la section. C'est l'étape clé. Une fois que vous l'avez, vous pouvez utiliser la méthode -rectForHeaderInSection: de UITableView pour obtenir le CGRect correspondant à l'en-tête de la section. Ensuite, comme notes @oriolpons, vous pouvez utiliser la méthode -scrollRectToVisible: de la vue de défilement englobante pour réellement faire défiler la table vers le CGRect déterminé.

0

Vous devez utiliser:

tableView scrollRectToVisible: 

Essayez de lire ce post, je pense que cela vous aidera.

How do I scroll a UITableView to a section that contains no rows?

+0

J'en ai beaucoup mais ça n'aide pas de trouver l'emplacement de la section qui contient la date du jour. – Bot

+0

Mmm, la "mauvaise" solution serait de le faire par programmation ... en comparant toutes les sections avec la section que vous voulez faire défiler et en ajoutant la hauteur de toutes les cellules pour calculer la position que vous voulez faire défiler ... Je ne pense pas que ce soit la meilleure solution. – oriolpons

+0

@oriolpons Cette approche ne tiendrait pas compte, par exemple, de la hauteur de l'en-tête et de tout remplissage. "Il y a une méthode pour ça." –

Questions connexes