2013-01-08 11 views
26

Ist es möglich, UICollectionView zu verwenden, um ein Layout zu erstellen, in dem jeder Abschnitt unabhängig gescrollt werden kann? Stellen Sie sich zum Beispiel 20 Reihen von Bildern vor, in denen jede Zeile unabhängig horizontal gescrollt werden kann, um mehr Bilder außerhalb des Bildschirms anzuzeigen (ohne dabei andere Zeilen zu scrollen); und die gesamte Ansicht konnte vertikal gescrollt werden, um mehr Zeilen anzuzeigen.Unabhängiges Scrollen für jeden Abschnitt einer UICollectionView?

Ich glaube, so etwas könnte mit mehreren Instanzen von UICollectionView in einem UIScrollView implementiert werden; Es wäre jedoch großartig, UICollectionView zum Einfügen/Verschieben von Abschnitten zu verwenden.

Ich vermute, dass dies nicht praktikabel ist, da UICollectionView eine Unterklasse von UIScrollView ist; aber vielleicht kann dies mit einem benutzerdefinierten UICollectionViewLayout getan werden?

+0

Sie könnten einfach benutzerdefinierte Zellen verwenden, um den gleichen Effekt zu erhalten (anstelle von Sektionen). Ihre Sammlungsansicht kann wie eine Tabellenansicht (einzelne Spalte) funktionieren und jede Zelle kann eine Bildlaufansicht mit einer Reihe von Bildern enthalten. Die verschachtelten Bildlaufansichten sollten sich theoretisch gut verhalten, da sie so festgelegt sind, dass sie in verschiedenen Richtungen scrollen können. Ich weiß, dass dies die Frage nicht genau beantwortet, aber eine alternative Lösung sein kann, um denselben allgemeinen Effekt zu erzielen. – nebs

+0

Danke für den Vorschlag Nebs - ja, ich werde wahrscheinlich diese Route gehen, wenn es keine Möglichkeit gibt, es mit Abschnitten mit 1 Bild pro Zelle zu machen. – MikeV

+0

Diese Frage kann momentan nicht beantwortet werden, da die Antwort ein kurzes und enttäuschendes "Nein" wäre. Möchten Sie Ihre Frage neu formulieren, damit sie beantwortet werden kann? Geben Sie die Antwort möglicherweise selbst und überprüfen Sie die Antwort? Meiner Meinung nach verdient @TheBasicMind das Häkchen. – epologee

Antwort

10

Sie können mehrere UICollectionViews in Tabellenzellen einfügen. Die Tabelle scrollt vertikal. Die Sammlungsansichten können so konfiguriert werden, dass sie horizontal scrollen. Ich mache das auf einem komplexen Layout und es funktioniert gut. Eine Einschränkung, die berücksichtigt werden muss, ist, dass es viel schwieriger ist, Animationen auszuführen, die von einer Tabellenzelle in eine andere wechseln müssen, und Sie können nicht eine einzelne Änderung des Auflistungsansichtslayouts verwenden, um alle Elemente in Ihrer Tabellenansicht zu animieren. Aber wenn diese Einschränkungen kein Problem darstellen, dann ist dies eine relativ einfache Lösung.

+3

Danke für den Vorschlag - Ich habe tatsächlich mehrere UICollectionViews in eine UICollection-Ansicht eingefügt. mit den innen angeordneten, um vertikal zu scrollen und dem äußeren, um horizontal zu scrollen. Dies funktionierte OK, obwohl es einfacher gewesen wäre, wenn ich eine einzelne UICollectionView mit unabhängigen Scroll-Sektionen hätte verwenden können ... – MikeV

+1

Ich habe das selbe gemacht, aber meine Tabellenansicht scrollt deswegen nicht glatt. Bitte hilf mir, das Problem zu lösen. – HarshIT

+2

@HarshIT, es ist spät ich weiß, aber hier ist ein Tutorial, das Ihr Problem löst: [Link] (http://ashfurrow.com/blog/putting-a-uicollectionview-in-a-uitableviewcell/) Hoffnung Es hilft jemandem. – Priest

Verwandte Themen