2009-10-15 8 views
0

Je construis une application (pas nécessairement un client Twitter) et j'essaie de comprendre comment les développeurs créent les boutons au-dessus et en dessous d'une vue de table où un utilisateur les appuie pour recharger des données plus récentes ou recharger des données plus anciennes. vue de la table. Est-ce que quelqu'un connaît des tutoriels là-bas qui le font ou savent d'une manière facile?iPhone Dev: Obtenez plus de fonctionnalités de données dans les clients iPhone de Twitter?

Répondre

2

Si vous voulez des boutons fixes, vous pouvez simplement faire en sorte que votre vue de table n'utilise pas le plein écran et ajouter les boutons dans l'espace. Si vous voulez que les boutons défilent avec la vue de la table, vous pouvez ajouter une vue d'en-tête ou de pied de page à la table et y placer vos boutons.

0

Vérifiez le projet Three20. Je crois qu'il y a une tableview là-bas qui fait cela.

Il n'est pas si difficile d'ajouter des boutons en ligne à une tableview. D'abord, vérifiez et voyez s'il y a plus de données à afficher. Si c'est le cas, vous voulez ajouter 1 au nombre de lignes renvoyées à partir de la source de données. Lorsqu'on vous demande de dessiner cette dernière rangée, vous retournez une cellule qui contient la légende "Press for more" ainsi qu'un spinner caché au lieu de la cellule standard qui affiche vos données normales.

Si l'utilisateur appuie sur ce dernier bouton, le gestionnaire de vue de table active le spinner puis déclenche un événement réseau. Une fois la requête réseau terminée, les données sont traitées et ajoutées à la même source de données tableview que celle utilisée pour dessiner la première table.

Maintenant, tout ce que vous avez à faire est de dire à la tableview de se recharger et les nouvelles données apparaîtront. Si vous souhaitez limiter la quantité de données affichées, vous pouvez supprimer N nombre d'éléments de la tête de la source de données avant de les redessiner afin que l'utilisation de la mémoire reste gérable.

Questions connexes