2015-08-09 4 views
6

Ich frage mich, wie Twitter seinen Profilbildschirm implementiert hat. Zuerst dachte ich, es wäre eine Tabellenansicht mit einem Header (Profilinfo) und einem Abschnittskopf (segmentiertes Steuerelement, um Tweets/Medien/Favoriten auszuwählen). Es würde für mich Sinn machen, da die Profilinformationen weggehen, während der Benutzer nach unten scrollt, aber die segmentierte Kontrolle bleibt, und das ist genau das Verhalten der einfachen UITableView-Header-Ansicht und des Abschnitts-Headers. Es gibt auch eine Bildansicht oben in der Navigationsleiste, aber das ist nicht wichtig für mich. Hier ist eine Visualisierung dessen, was ich denke, es ist:Wie wird der Twitter-Profilbildschirm in der iOS-Version erstellt?

Twitter profile screen architecture (my visualization)

Ich versuchte es in Interface Builder zu erstellen und das ist, was ich bekam. Der Schieber zog meine Aufmerksamkeit auf sich: Anders als in der Twitter-App beginnt er oben in der Kopfzeile der Tabellenansicht, nicht an der Spitze der Zellen.

My implementation in Interface Builder Twitter's slider is different

So ... wie haben sie es erreichen? Haben sie eine UITableView in eine UIScrollView geschrieben und Touch/Scroll-Ereignisse selbst behandelt? Ich denke nicht, da es entmutigt ist, aber ich kann mir keine andere Erklärung einfallen lassen.

+0

Die Größe des Schiebereglers gibt an, wie viel Inhalt darunter liegt. Kleinerer Schieberegler - mehr Dinge zum Scrollen. – njuri

+0

@njuri Ich weiß, das ist nicht das Problem. Meine Sorge ist, dass in meiner Implementierung Slider am oberen Rand der Tabelle Header-Ansicht beginnt, in Twitter App beginnt es an der Spitze der Zellen. Es schwebt niemals über segmentierten Kontroll- oder Profilinformationen. –

+0

@raven_raven Ich untersuche das gerade jetzt. Hast du eine Lösung gefunden? Meine Wette ist, dass sie herumspielen und den Scrollindikator auf Scroll setzen - also werde ich damit spielen und Sie wissen lassen, ob ich erfolgreich bin. – dandoen

Antwort

4

Ich bin mir nicht sicher über den Slider, aber here sie haben ziemlich gute Arbeit mit mimic Twitter Profilansicht. Sehen Sie sich das genauer an, vielleicht finden Sie das hilfreich.

+0

Danke, es sieht gut aus, aber es hat genau dasselbe Problem: Scrollbalken schwebt über der ganzen Ansicht, nicht nur Zellen. –

0

Sie können die Höhe der Scroll-Anzeige einstellen

tableView.scrollIndicatorInsets = UIEdgeInsetsMake(yOffset, 0, 0, 0) 

yOffset auf dem Bildschirm Höhe des Kopfes wäre mit unter Ihrem Kopf sitzen die aktuell. Wenn Sie dies anpassen, während der Benutzer mit der scrollViewDidScroll-Methode von UIScrollViewDelegate nach unten scrollt, erzielt es den reibungslosen Effekt, den Twitter verwendet.

This page geht ausführlicher auf das Erstellen des Twitter-Profileffekts, aufbauend auf der Methode, die in dem von njuri oben gelieferten Link beschrieben wird, einschließlich des Änderns der Bildlaufleiste, um korrekt positioniert zu werden.

+0

Weitere Informationen hier hinzufügen. Der Link kann nicht mehr verfügbar sein. –

+0

Diese Seite geht ins Detail. Das kannst Du auch. Dies ist keine Antwort. – Drew

+0

Danke für das Feedback, ich habe die Antwort bearbeitet, um es zu reflektieren. – davedavedave

Verwandte Themen