2

J'ai un problème, il ne s'agit pas tellement d'un bug, mais plutôt de la façon d'aborder le problème. Je veux créer un UICollectionViewLayout où je peux faire défiler une seule colonne. Normalement quand nous faisons défiler une vue de défilement, tous les sous-aperçus défilent vers le haut/bas/gauche/droite. Mais ici, je veux avoir un ensemble de colonnes, et fondamentalement, comme l'utilisateur défile verticalement, je veux seulement faire défiler cette colonne et laisser les autres où ils étaient. Plus sur si l'utilisateur fait défiler horizontalement je veux le comportement normal, c'est-à-dire, toutes les colonnes défilent à gauche ou à droite.UICollectionView scroll colonne unique

Une idée de la façon d'aborder ce problème?

Répondre

1

Il est un peu tard, mais, mieux vaut tard que jamais!

Vous avez raison de dire que vous devez créer votre propre UICollectionViewLayout. Je vous recommande de commencer par le faire fonctionner normalement avant de commencer à travailler sur votre comportement particulier.

Fondamentalement, ce que vous voulez faire est que toutes les cellules mais une colonne soient verticalement collantes.

Pour y parvenir, vous devez repositionner toutes vos cellules (mais celles qui bougent réellement) en fonction des options xOffset et yOffset de la vue de collection.

Commander ma réponse sur ce post pour plus d'informations: https://stackoverflow.com/a/20987008/322377

0

Pour cela, vous pouvez utiliser un UITableView avec la coutume UITableViewCell contenant UIScrollView et vous pouvez définir scrollview pour faire défiler dans la direction désirée.

+0

Les colonnes défilantes ne sont pas des lignes. – foFox

+0

Oopps! Pour cela, vous pouvez utiliser un UIScrollView remplissant l'écran avec plusieurs UIScrollViews (comme des colonnes) dans ses sous-vues. – Ashutosh

+0

Oui, mais je préfère utiliser un UICollectionView pour les collections. – foFox