6

Ich bin neu in der iOS-Entwicklung. Basierend auf meiner Annahme wurde die Feature-Seite im App Store mit einer Kombination aus UITableView und UICollectionView erstellt. Aber wie geht das in Theorie und Code? Ich weiß, dass es etwas vage ist, weil es ziemlich schwer ist, es zu beschreiben, aber ich brauche nur ein paar Leute, die mir helfen, es zu erklären.Wie erstellt man ein Layout wie "Gekennzeichnete Seite" im App Store?

Für diesen Fall werde ich versuchen, diese Namensgebung zu verwenden:

1. Oberteil, dann ist es eine Ansicht, die Banner von Anwendungen zeigt, die Menschen es einen anderen Banner sehen streichen können.
2. Mittelteil, Ansichten, die horizontal gescrollt werden können. (Beste neue Apps, beste neue Spiele, usw.).
3. Unterer Abschnitt, beginnt von Quick Links nach unten.

Fragen:

1. Das Scroll-Anzeige ist beginnt von der oberen Führung des Stammansicht, das ist normal, aber:
a. Wenn wir es nach oben scrollen, beginnt die Bounciness im mittleren Abschnitt. Wie geht das? Ist der obere Abschnitt und der mittlere Abschnitt eine getrennte Ansicht? Aber wie kann der Scrollindikator von der obersten Führung der Stammansicht gestartet werden, wenn der obere und mittlere Abschnitt eine getrennte Ansicht ist? (Getrennte Ansicht bedeutet, dass die Ansichten unterschiedliche Scroll-Indikatoren haben sollten, es sei denn, es handelt sich tatsächlich um Unteransichten von UIScrollView).
b. Wenn wir es runterscrollen, gibt es nichts, was schwimmt. Es sieht also so aus, als ob die ganze Seite eine Unteransicht einer einzelnen Scroll-Ansicht ist, aber die Bounciness beginnt im mittleren Abschnitt. Wie erzeugt man diesen Bounciness-Effekt, während nur ein Scroll-Indikator für die ganze Seite vorhanden ist?

2. Im mittleren Bereich gibt es mehrere Ansichten mit horizontaler Bildlaufrichtung. Ist es der beste Weg, um es zu erstellen, wie UITableView mit Zelle zu verwenden, die UICollectionView enthält? Es sieht so aus, als ob es auf diese Weise erstellt wurde, aber:
a. Ist dies der effizienteste Weg?
b. Wegen des Falles in meiner ersten Frage ist meine Quelle der Verwirrung.

3. Der Bodenabschnitt hat einen anderen Separator als der mittlere Abschnitt. Der mittlere Abschnitt weist eine Einrückung auf, während der untere Abschnitt dies nicht tut. Wie kann ich das tun, wenn es sich um einen UITableView handelt?

Meine ganze Frage ist nur, wie man ein Layout so erstellt. Wenn Sie mir nicht helfen können, indem Sie mir einige Beispielcodes zur Verfügung stellen, erklären Sie mir bitte das Konzept oder die Theorie, wie das geht.

Wenn die ganze Antwort nur ich muss es mit vertikalen/horizontalen UIScrollView von Grund auf neu erstellen, das ist in Ordnung. Ich möchte das nur sicherstellen, da ich versucht habe, die manuelle Erstellung von Kacheln zu vermeiden.

+0

Ich denke, die obere Ansicht ist Header UITableView und die anderen Teile sind UITableViewCells mit horizontalen Bildlauf. – BoranA

+0

Ich dachte das gleiche vorher. Aber wie man die Bounciness erstellt, beginnt im mittleren Abschnitt? – user3620251

+0

Wie gesagt, der obere Teil ist der Header von tableview. – BoranA

Antwort

3

OK in scrollViewDidScroll aus dem Bildschirm geht, Ich glaube, ich habe endlich meine eigene Antwort gefunden.

  1. Zuerst brauche ich ein UIScrollView als Wurzel der Ansicht. Dann setze ich die contentSize auf einen bestimmten Wert.
  2. Der obere Bereich kann ein UIPageController oder ein horizontaler UIScrollView sein.
  3. Der mittlere Abschnitt ist eine UITableView mit scrollEnabled zu NO und Zellen sind statisch. Die statischen Zellen (könnten auch dynamische Zellen sein) enthalten UICollectionView. Da der Bildlauf deaktiviert ist, wird der Bildlauf vom übergeordneten UIScrollView verwendet. Deshalb kann ich im Mittelteil den gleichen federnden Effekt erzielen.
  4. Der untere Abschnitt ist nur eine weitere Zelle eines UITableView.

Danke.

+0

hast du das fertig programmiert? –

2

Das könnte Sie bei der Implementierung UICollectionViews in Ihrem UITableViewCell helfen: http://ashfurrow.com/blog/putting-a-uicollectionview-in-a-uitableviewcell

Um die erste Zelle „schweben“ in der Tableview stellen Sie sicher machen könnte, dass die Zelle nie

+0

Vielen Dank. Ich habe den Artikel schon vorher gesehen. Deshalb frage ich, ob das der beste Weg ist, diese Methode zu benutzen? Aber wie steht es mit der Bounciness im mittleren Abschnitt? – user3620251

+0

Ich bin nicht 100% sicher, was Sie mit "Bouncing" meinen, aber könnte es sein, dass die UICollectionView Paging hat? Das heißt, wenn Sie es nur leicht scrollen, springt es zurück oder springt auf die nächste Seite. –

+0

Sie können es einfach mit [self.collectionView setPagingEnabled: YES] aktivieren; und testen Sie verschiedene Flowlayouts, um zu entscheiden, was in Ihrer App als "Seite" gilt. –

Verwandte Themen