2017-08-05 1 views
1

Ich habe ein Array mit unbekannter Menge von Elementen und ich muss sie horizontal mit einem Element pro Seite scrollen. Grundsätzlich möchte ich smt wie this (für einige reaons funktioniert dieses Projekt nicht für mich).Horizontale Scroll der Tabelle/Sammlung anzeigen

So würde die offensichtliche Lösung CollectionView innerhalb TableViewCell zu schaffen, aber die Fragen sind:

Erstens, wie kann ich das Blatt sie wie im Beispiel über oben? CollectionViewCells bewegen sich reibungslos wie ein scrollView, aber ich muss zwischen ihnen "tauschen". Zweitens, wie man eine Zelle pro Seite anzeigt? Und sollte ich auch CollectionView Ansatz wählen? Weil ich so etwas im Internet nicht finden kann.

Ich würde jede Hilfe zu schätzen wissen. Vielen Dank!

+0

Haben Sie sich "UIPageViewController" angesehen? Klingt besser für Ihre Aufgabe ... Hier ist ein einfaches Beispiel: https://github.com/DonMag/SWEmbeddedPageView – DonMag

+0

Ja, aber ich habe eine große Menge von Elementen in meinem Array: von 5 bis einige hundert, und die Zahlen sind immer anders. Also habe ich nicht herausgefunden, wie man das mit diesem Ansatz macht. –

+0

Sie können jede "Seite" so laden, wie sie angefordert wird, genauso wie Sie jede Zelle in einer Sammlungsansicht laden, wie sie angefordert wird. – DonMag

Antwort

3

So können Sie jede Sammlung Ansichtszelle die gleiche Größe wie der gesamte Anwendungsbildschirm machen. setzen Sie dann diese Attribute auf Ihre UICollectionView:

... 
    let layout = UICollectionViewFlowLayout() 
    layout.scrollDirection = .horizontal 
    layout.minimumLineSpasing = 0 
    let yourCollectionView = UICollectionView(frame: .zero, collectionViewLayout: layout) 
    yourCollectionView.pagingEnabled = true 
..... 

Das Beispiel in diesem Video ist. https://www.youtube.com/watch?v=kecV6xPTTr8&index=1&t=1s&list=PL0dzCUj1L5JHfozquTVhV4HRy-1A_aXlv

+0

Es funktioniert, aber ist es möglich, nicht die gesamte Ansicht mit CollectionViewCell zu füllen, sondern Cell nur in der Mitte des CollectionView platzieren? Wenn Sie sich den Link [this] (https://github.com/BenEmdon/CenteredCollectionView/blob/master/GitHub/demo.gif) anschauen, befindet sich ein Rechteck in der Mitte des Bildschirms. Ich weiß nicht, wie ich das mit deinem Ansatz machen soll ... –

+0

Ja, es ist möglich, denke ich. Versuchen Sie, mit verschiedenen Größen Ihrer Zellen und mit Einsätzen zu spielen. Auch mit diesem Layout.minimumLineSpasing –