2016-07-12 9 views
0

Wir verwenden Swift + iOS9. Wir möchten einen News-Feed erstellen, bei dem einige der Beiträge nur Text sind und einige tatsächliche Fotos haben. Die einzelnen Pfosten werden in der Höhe variieren. Würden Sie ein UITableView verwenden? Da wir es in Swift mit Facebook machen, ist das ComponentKit keine Option. Wie würdest du das Scrollen performant machen? Zurzeit verwenden wir eine UITableView, wobei jede Zelle aus einer verschachtelten Menge von UIStackViews besteht. Dies führt zu einer abgehackten Schriftrolle, wahrscheinlich aufgrund von Höhenunterschieden. Schätze die Hilfe, danke.Wie würden Sie in iOS Swift einen dynamischen Höhen-Newsfeed (Timeline-Ansicht) ähnlich FB erstellen?

Wir machen alle unsere Ansichten programmatisch.

+0

hey, ich schreibe einen Wrapper von ComponentKit für schnell. https://github.com/leavez/ComponentSwift. Du könntest es versuchen. – leavez

Antwort

3

Sie können versuchen, die eigene Größe der Reihe schätzen zu lassen.

  1. Verwenden Sie beim Erstellen der Tabellenansichtszellen das automatische Layout.
  2. Legen Sie die Tabellenansicht rowHeight auf UITableViewAutomaticDimension fest.
  3. Legen Sie die geschätzteRowHeight fest, oder implementieren Sie die Delegierungsmethode für die Höhenschätzung.

Sie können zunächst die benutzerdefinierte Tabellenzelle erstellen, dann fügen Sie diese beiden Zeilen Code in viewDidLoad()

tableView.estimatedRowHeight = tableView.rowHeight 
    tableView.rowHeight = UITableViewAutomaticDimension 

Ich glaube, jetzt bereits die Änderungen sehen können.

Und Sie können hier beziehen:

Self-sizing Table View Cells

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/12984086) – fractalwrench

+0

Vielen Dank für Ihren Hinweis, ich habe bereits den Schlüssel Teil hinzugefügt. – XueYu

Verwandte Themen