UIScrollView avec défilement "circulaire"
Je suis en train de faire "Circulaire" scrolling dans mon UIScrollView, mais sans succès.
Ce que je veux faire:
si uiscrollview arrive à la fin, il doit se déplacer pour démarrer
si uiscrollview au début et de se déplacer de nouveau, il doit déplacer à la fin
Ajoutant le scrollview n'est pas de la bonne manière dans ma situation (d'autres méthodes devrait être "l'id de la page")
Avez-vous des idées?
source d'informationauteur werbary
Vous devez vous connecter pour publier un commentaire.
J'ai mis en œuvre cette méthode, mais il nécessite la pagination activé. Supposons que vous disposez de cinq éléments
A,B,C,D and E
. Lorsque vous configurez votre vue, vous ajoutez le dernier élément pour le début et le premier élément à la fin, et d'ajuster le contenu de décalage pour afficher le premier élément, comme ceE,[A],B,C,D,E,A
. Dans le UIScrollViewDelegate, vérifier si l'utilisateur à atteindre une des extrémités, et de déplacer le décalage sans animation à l'autre extrémité.Imaginer l' [ ] indique le point de vue d'être montré:
Utilisateur effectue à droite
Utilisateur effectue à droite
Ensuite, définir automatiquement le contenu de compenser le deuxième élément
De cette façon, l'utilisateur peut balayer les deux façons de créer l'illusion de l'infini défilement.
Mise à jour
J'ai téléchargé un mise en œuvre complète de cet algorithme. C'est très compliqué, parce que cela aussi a sur-cliquez sur la sélection, l'infini circulaire de défilement et de la cellule de réutilisation. Vous pouvez utiliser le code comme il est, de le modifier ou d'en extraire le code que vous avez besoin. Le code le plus intéressant est dans la classe
TCHorizontalSelectorView
.Lien vers le fichier
En profiter!
Mise à jour 2
UICollectionView
est maintenant recommandé d'y parvenir, et il peut être utilisé pour obtenir le même comportement. Ce tutoriel décrit en détails la manière de l'atteindre.Apple a une Rue Scroller démo qui semble avoir exactement ce que vous voulez.
Il y a aussi un vidéo de la WWDC 2011, que les démos de leur démo. 😉 Ils couvrent infini défilement d'abord dans la vidéo.
Essayez d'utiliser le code suivant..
Exemple de code..
Espoir, cela vous aidera à...