2009-12-30 3 views
12

Je souhaite afficher une sorte d'indication pour guider l'utilisateur à faire défiler.Comment afficher la barre de défilement dans UITableView

Généralement, lorsque vous appuyez sur la barre de défilement UITableView apparaît si nécessaire. Mais je veux que cette indication de barre de défilement soit déjà affichée sur ma tableview.

Comment est-il possible de le faire?

+0

en retard aussi mais: j'ai écrit une possibilité à http://stackoverflow.com/questions/3412629/how-to-always-visible-scroller-of-tableview-in-obj-c/5002298#5002298 – Gerold

Répondre

12

Il n'y a aucun moyen de forcer l'affichage de la barre de défilement, à moins de jouer avec les internes de UITableView (ce que vous ne devriez pas faire), ou de redessiner votre propre classe de vue de table.

Selon la documentation de la propriété showsVerticalScrollIndicator de UIScrollView: "L'indicateur est visible lorsque le suivi est en cours et disparaît après le suivi."

+2

+1 pour expliquer quand l'indicateur de défilement apparaît. – JoePasq

36

Si vous avez une vue de table qui va offscreen, vous pouvez appeler

[self.tableView flashScrollIndicators];

et ils clignotent pour montrer à l'utilisateur qu'ils sont là. Ceci est généralement placé dans viewDidAppear.

(Si vous héritez de UITableViewController alors vous aurez une variable d'instance de self.tableView, si donc pas substituer une autre UITableView.)

Si vous tout le contenu de la vue de défilement correspondez à son point de vue alors aucune barre de défilement sont affichés ; pour tester cet affichage une vue de table avec une seule cellule. Si la taille du contenu est supérieure à celle de la vue, les barres de défilement seront affichées. alors seulement [self.tableView flashScrollIndicators]; clignotera les indicateurs de défilement.

+0

Cela ne fait que clignoter, comme dit par Mike ci-dessous, il montre quand l'utilisateur défile, mais est caché autrement. – JoePasq

Questions connexes