iPhone - Nesting UIScrollViews pour la pagination horizontale et le défilement vertical
Je suis de développer ma première application pour iPhone et j'apprécierais que vous gars d'entrée sur un problème que je vais avoir.
Je suis à la recherche pour mettre en œuvre le défilement à la fois horizontalement et verticalement. Je veux que le défilement horizontal pour être paginé, sans la verticale l'un de paginées (défilement "normalement"). Un seul UIScrollView avec pagingEnabled défini à OUI page dans les deux directions. La solution naturelle serait de nest un UIScrollView à l'intérieur d'un autre, cependant quand je fais ça, je ne peux pas obtenir le "intérieure" UIScrollView pour faire défiler à tous. Semble de l'extérieur est fait de "manger" tous les appuyez sur les événements, comme dans:
UIScrollView : la pagination à l'horizontale, le défilement verticale?
J'ai lu quelque chose à propos de "intérieure défilement d'être amélioré dans le SDK 3.0 et en fait, quand j'ajoute un intérieur UITableView au lieu d'un UIScrollView le défilement fonctionne parfaitement. Depuis UITableView sous-classes UIScrollView j'imagine que mon comportement souhaité doit être réalisable en faire mon propre sous-classe de UIScrollView.
Est-ce la bonne solution? Si oui, que dois cette sous-classe?
source d'informationauteur ebergner
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne hors de la boîte avec le SDK maintenant. Voir Le Défilement De La Folie et Apple UIPageControl échantillon pour des lignes directrices sur la façon de mettre en œuvre paginé de défilement horizontal avec une vue contrôleur pour chaque page.
Imbriquée UIScrollViews vous ajoutez en tant que sous-vues à l'extérieur de UIScrollView devrait avoir la même image hauteur du conteneur. Si vous faites cela, alors que l'extérieur de la UIScrollView sera de passer à travers le défilement vertical des événements de la sous-vue. Mon application a trois niveaux de UIScrollView et UIWebView de nidification et j'ai trouvé le Cacao est vraiment intelligent de transmettre les événements à celui que je veux tant que j'ai mis mes tailles de sorte qu'un seul point de vue est vraiment à défilement (contentSize > frame) sur chaque axe.
J'ai été en utilisant cette grande lib par Andrey Tarantsov pour le mois: SoloComponents
Vous pouvez l'utiliser comme un "horizontale UITableView", avec le soutien de la pagination et de la vue de son recyclage.
Bien fait et parfaitement cacao-style conçu.
Basé sur Dylan réponse, dans mon cas, je fait aussi de la taille du contenu des hauteurs égales pour les deux parents et imbriquées UIScrollViews de faire imbriquée UIScrollView pour faire défiler verticalement. Ne faisant que "le même cadre hauteurs que le conteneur" que Dylan a expliqué n'était pas assez:
Ce Dylan dit. Et, peut-être de l'intérêt sur ce sujet que vous n'avez pas besoin d'activer le défilement dans le master "pagination" UIScrollView, il suffit d'activer la pagination et de la direction de verrouillage. Cela semble d'assurer à tous le défilement vertical des indices aller à la imbriquées, de taille fixe, à scrolling vertical NSScrollViews. Il fonctionne en arrière d'au moins iOS 9.