2016-08-19 1 views
1

Ich habe versucht, diesen Effekt für ein paar Tage zu replizieren, die von Tumblr inspiriert wurde.Swift: Hat Tumblr eine UICollectionView in einem UIScrollView hinzugefügt?

Ich habe zuvor Fragen hier mit verschiedenen Herangehensweisen des gleichen Problems, aber ohne Erfolg gestellt. Ich bin nur neugierig, wie die Ingenieure bei Tumblr eine horizontale Sammlungsansicht mit zwei vertikalen Sammlungsansichten erstellt haben und scrollen können, ohne die Ansicht über zu beeinträchtigen (ohne die Position der Ansicht beim Scrollen zurückzusetzen) vertikal in einem anderen Tab).

Kopf Ansichten

habe ich versucht, diese, aber die Kopfsicht wurde isoliert und ich musste nach rechts scrollen, um die Zellen Collection zu sehen. Das hat nicht funktioniert.

Ändern der topLayoutConstraint Konstante meines UIView (nicht CV-Header) in Bezug auf die ContentOffSet der vertikalen CollectionView.

Das hat fast die Wirkung Ich wollte, mit der Ausnahme, dass, wenn ich horizontal gescrollt, gibt es eine riesige Lücke zwischen meiner Sammlung Ansicht war, und wenn ich in diesem neuen Tab gescrollt, die UIView würde wieder erscheinen, weil wieder topLayoutConstraint gescrollt wird abhängig vom contentOffSet meiner vertikalen collectionView contentOffset.

Ändern der Position des UICollectionView-Rahmens und Scrollen der Superansicht gleichzeitig mit NSNotificationCenter.

Leider hat diese Methode das selbe wie Methode # 2 gemacht, außer dass die Zellen der vertikalen Auflistungsansicht schneller scrollten als die Superansicht.

ich aus Optionen lief diese Arbeit zu machen, damit ich Ihnen im Detail zeigen, was versucht hat repliziert werden (beachten Sie auch die Bildlaufleiste auf der rechten Seite):

enter image description here

Hinweis, wenn ich Scrollen Sie auf der ersten Registerkarte nach unten. Ich wechsle und scrolle dann weiter nach unten. Ursprünglich, wie gesagt, würde es eine Lücke zwischen dem zweiten Haupt-CV geben, und wenn ich scrollte, würde sich die Ansicht neu positionieren, als würde ich wieder hochscrollen. Hier oben geht der Ausblick weiter. Ich bin also gespannt, mit welcher Methode die Tumblr-Ingenieure das gemacht haben. UICollectionView in UIScrollView? Andere Vorschläge?

Antwort

0

Ich glaube, es gibt keine UICollectionView beteiligt. Es sieht wie UIPageViewController aus und jede Seite ist eine UITableView. Vielleicht sitzt der UIPageViewController auch in einem UITableView - der Header bewegt sich auch beim Scrollen nach oben. Diese Haupttabelle hat nur eine Zelle (und einen Header), die vom UIPageViewController belegt wird. Hoffe es hilft.

+0

Danke für die Antwort! Ich habe mich gefragt, wie ein Tableview beteiligt ist, sollten die Zellen nicht zusammen und nicht getrennt sein? –

+1

@snapchatdotcom - das "Trennzeichen" kann ein Teil einer Zelle sein; nur eine transparente Sicht. –

+0

Ich finde es komisch, denn wie würde man die vertikale Scroll-Ansicht in einen UIPageViewController stellen und die eigene Header-Ansicht scrollen? –

Verwandte Themen