UITableView ContentSize bei Verwendung dynamischer Höhe auf UITableViewCells

Ich habe die Suche nach dieser, für viele Stunden, aber nicht einen Weg finden, es zu machen.

Ich habe eine UITableView deren UITableViewCells verwenden AutomaticDimension für Höhe:

tableView.RowHeight = UITableView.AutomaticDimension;
tableView.EstimatedRowHeight = 160f;

Das problem ist, wenn ich versuche, zu bekommen tableView ist ContentSize. Es scheint, berechnet basierend auf EstimatedRowHeight statt die aktuelle Höhe Ihrer Zeilen. Angenommen, es sind 10 Zellen dann ContentSize der zurückgegebene Wert ist 160x10.

Dann meine Frage ist ob es eine Möglichkeit gibt, dies zu tun.

Jede Hilfe wird wirklich geschätzt... ich benutze Xamarin.iOS aber Obj-C und Swift-Antworten sind natürlich willkommen 🙂

  • warum brauchen Sie contentSize des tableView?
  • Gut, weil es eingebettet ist in eine ScrollView. Ich weiß, es ist nicht empfohlen, aber es ist eine ziemlich komplexe UI - Es hat einen animierten header wie Twitter-app, also ist es schwierig zu machen, den header der UITableView
  • Was werden Sie tun, nachdem man sich die Größe des Inhalts. Ich denke, Sie sind mit unterschiedlichen problem-und Sie versuchen, Sie zu befriedigen, Sie in die falsche Art und Weise. Können Sie Ihre Benutzeroberfläche und teilen mehr details, was du eigentlich machen willst?
  • Meine UITableView hat das scrollen deaktiviert, so dass nach Erhalt der ContentSize des UITableView ich bin versucht, in der ScrollView die ContentSize basierend auf diesem Wert
  • UITableView hat die default-Eigenschaft des Rollens und es kann dequeue-Zellen basiert auf der datasource. Ich fühle mich nicht wie Sie brauchen, um set-scrollView die Größe des Inhalts. Dennoch, wenn Sie möchten weiterhin mit diesem Ansatz, können Sie heightforrow gegen Schlüssel(indexpath) in einem Wörterbuch nach und am Ende können Sie die Summe dieser Werte. Aber ich glaube nicht, dass so seine guten Ansatz.
  • Ali, Vielleicht der tableview ist auf einer Seite, die hat auch eine Sammlung Ansicht von oben oder unten, wie Sie vielleicht sehen, mit einer Nachrichten-app. Es ist einfacher zu erstellen Sie eine Seite mit einer Auflistung und eine Tabelle, als zu versuchen, um eine größere Vielfalt von Zelltypen, die für die Sammlung. Unabhängig davon, sind die Inhalte, die Größe der Tabelle sollte korrekt sein, wenn jemand versucht, es zu benutzen.
  • wenn es eine komplexe Benutzeroberfläche und als er erwähnte, er hat deaktiviert das scrollen auf tableview und die Zuordnung der Inhalte Größe der tableView zu scrollview. Im Grunde bedeutet es, er ist nicht mit wiederverwendbaren Zellen wie die Höhe der tableview wird gleich der Inhalt von der Größe dann denke ich, dass anstelle der Verwendung von tableview für dieses bessere Idee erstellen einer Ansicht und das hinzufügen von mehreren Instanzen, die stack-Ansicht.

InformationsquelleAutor | 2016-02-03
Schreibe einen Kommentar