2016-04-28 6 views
-2

Ich arbeite an meiner App, die diese Art von Struktur hat. See image.Der beste Weg, um diese komplexe horizontale sowie vertikale Scroll-Struktur in iOS zu haben?

Dies zeigt Details für ein Fahrzeug Auflistung, aber es gibt auch horizontale Scrolling so weiter Wischen nächste sollte es nächste Liste laden. Außerdem hat jede Auflistung eine Pull-to-Refresh-Funktion. Bilder können auch kopiert werden, um weitere Bilder zu laden. Die "Übersicht", "Details" sind verschiedene Tabs und laden jeweils ihre jeweiligen Details beim Anklicken. Benutzer kann auch nach oben scrollen und mehr Details darunter sehen.

Was ist der bestmögliche Ansatz, um diese Art von Struktur in meiner App zu haben? Welche UI-Komponenten sollte ich verwenden und wie? Außerdem gibt es Tausende von Auflistungen, daher würden wir nicht alle Ansichten gleichzeitig laden, um Speicherprobleme zu vermeiden. Aber wenn wir Ansichten im horizontalen Layout wiederverwenden, gibt es auch die Möglichkeit, dass horizontales Scrollen nicht reibungslos ist und beim Wechseln der Seiten aufgrund der komplexen Ansichtsstruktur auf jeder Seite nachlässt? Ist jemand auf diese Art von Blickstruktur gestoßen und hat eine Lösung dafür?

Alle Vorschläge würden sehr geschätzt werden.

+0

Der beste Weg zum horizontalen Scrollen von Ansichten ist die Verwendung von SwipeView (https://github.com/nicklockwood/SwipeView), weil es View Wiederverwendbarkeit Feature – KrishnaCA

+1

Diese Frage ist Weg zu weit und potenziell in erster Linie auf die Meinung, da Sie fragen nach dem "besten Weg", um dieses Verhalten zu erreichen. Was hast du schon probiert? Bitte posten Sie Ihre Work-in-Progress-Implementierung. – JAL

Antwort

1

Horizontal UICollectionView als Wurzel

  • Jede UICollectionViewCell enthält ein Detail UIViewController

Jedes Detail UIViewController enthält ein UITableView

  • UITableView den Zug enthält
  • E auffrischen ACH UITableViewCell ist ein anderer Abschnitt des Detailbild (Bildgalerie, Tabulatoren, Übersicht)

Jedes Bild Galerie UITableViewCell enthält eine UICollectionView

  • Jede UICollectionViewCell enthält jedes Bild

Dieser größte Das leistungsbezogene Problem besteht darin, sicherzustellen, dass die gesamte oben genannte Ansichtshierarchie nur einmal erstellt wird und nicht in jeder Zelle wiederverwendet wird. Alle oben genannten Komponenten sollten mit Ihren Modellobjekten injizierbar sein oder Modelle anzeigen, die sie auffüllen. Bei jeder Wiederverwendung werden einfach die angezeigten Werte geändert und die zugehörigen UICollectionView s und UITableView s erneut geladen.

+0

Danke! Ich benutzte UICollectionView und UITableView mit mehreren Abschnitten innerhalb jeder UICollectionViewCell. – Shaunak

1

Sie sollten UIPageViewController mit zwei Viewcontrollern verwenden, damit Sie alternativ mit anderen Daten anzeigen können. Die zweite Sache, die Sie scrollview in beiden Ansicht Controller nehmen können, die vertikal scrollen kann.

Wenn Sie also horizontal wischen, wechseln Sie die Seiten mit neuen Daten. Wenn Sie vertikal wischen, wird vertikal geblättert.

Hope this helfen :)

+0

Page View-Controller ist eine bessere Möglichkeit, dies zu tun. –

1

Wenn ich Sie wäre, ich UIPageViewController für horizontales Scrollen und UITableView für vertikales Scrollen in jedem Kind UIViewController von UIPageViewController verwenden würde.

Auf diese Weise kann ich es weiter segregieren, indem Sie einen anderen horizontalen scrollview innerhalb UITableViewCells verwenden, wenn ich will.

Bitte verwenden Sie nicht einfach UIScrollView für horizontales oder vertikales Scrollen, da diese schwer sind und die Speicherverwaltung manuell schwer zu erreichen ist.

Ich hoffe, es hilft. Prost!

Verwandte Themen