Ansicht mit kontinuierlicher Bildlaufleiste; sowohl horizontal als auch vertikal
Ich kämpfen mit dieser Zuordnung für einige Zeit jetzt. Was ich entwickeln möchte, ist eine scrollview oder der collectionview die Schriftrollen kontinuierlich sowohl vertikal als auch horizontal.
Hier ist ein Bild, wie ich denke, das Aussehen sollte. Die transparenten Boxen sind die Ansichten/Zellen, die neu geladen aus dem Speicher. Sobald eine Ansicht/Zelle wird außerhalb des Bildschirms, es sollte wiederverwendet werden für neue, kommende Zelle.. so wie ein UITableViewController
funktioniert.
Ich weiß, dass eine UICollectionView
können nur gemacht werden, um unendliche scrollen Sie horizontal ODER vertikal, nicht beide. Allerdings, ich weiß nicht, wie Sie dies tun, indem eine UIScrollView
.
Ich habe versucht, den code an einer Antwort auf diese Frage und ich kann es zum erneuten erstellen der Ansichten (z.B. % 20), aber das ist nicht wirklich das was ich brauche.. außerdem ist es nicht durchgängig.
Ich weiß, es ist möglich, weil die HBO Go-app tut dies.. ich will genau die gleiche Funktionalität.
Meine Frage: Wie kann ich mein Ziel erreichen? Gibt es irgendwelche Anleitungen/tutorials, die mir zeigen, wie? Ich finde keine.
InformationsquelleAutor der Frage Paul Peelen | 2013-03-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie bekommen unendliche scrollen, indem Sie mit der Technik der re-Zentrierung der
UIScrollView
nachdem Sie eine bestimmte Entfernung von der Mitte Weg. Erste, Sie brauchen, um diecontentSize
groß genug ist, können Sie scrollen ein bisschen, so dass ich wieder 4 mal die Anzahl der Elemente in meinem Sektionen und 4 mal die Anzahl der Abschnitte und der mod-operator in dercellForItemAtIndexPath
Methode, um den richtigen index in mein array. Sie haben dann zu überschreibenlayoutSubviews
in einer Unterklasse vonUICollectionView
zu tun, die re-Zentrierung (dies zeigt sich in der WWDC 2011 Videos "Erweiterte Scroll-View-Techniken"). Hier ist die controller-Klasse, die die collection-Ansicht (im IB) als Untersicht:Hier ist die
UICollectionViewFlowLayout
Unterklasse:Und schließlich, hier ist die Unterklasse von
UICollectionView
:InformationsquelleAutor der Antwort rdelmar
@aktualisiert swift 3 und geändert, wie die maxRow berechnet wird, andernfalls der letzten Spalte ist cutoff und können Fehler verursachen
InformationsquelleAutor der Antwort TreeBucket
@rdelmar Antwort arbeitete wie ein Charme, aber ich brauchte swift. Hier ist die Umwandlung 🙂
InformationsquelleAutor der Antwort BadPirate
Zurücksetzen der contentOffset wahrscheinlich ist die beste Lösung herausgefunden bisher.
Wenige Schritte ergriffen werden sollten, um dies zu erreichen:
So, die schweres heben ist in der Berechnung, wie viele Elemente sollte aufgefüllt werden, sowohl auf der linken und rechten Seite. Wenn Sie einen Blick auf die Abbildung, Sie werden feststellen, dass ein minimum von einem zusätzlichen Bildschirm-Elemente sollten gepolstert werden auf der linken Seite und außerdem gibt es noch einen extra Bildschirm auf der rechten Seite. Der genaue Betrag, gepolsterte hängt davon ab, wie viele Elemente sich in der original-Datensatz und wie groß Ihr Einzelteil-Größe ist.
Schrieb ich einen Beitrag über diese Lösung:
http://www.awsomejiang.com/2018/03/24/Infinite-Scrolling-and-the-Tiling-Logic/
InformationsquelleAutor der Antwort Jiang Wang