Dies ist ein Problem, das mich schon seit einiger Zeit nervt.TableView Ändern der Größe der Elternansicht iOS
Nehmen Sie eine Ansicht an, die eine TableView mit X-Elementen enthält. Das Ziel besteht darin, die Größe dieser Ansicht so zu ändern, dass sie so hoch wie der Inhalt von tableView ist.
Ein Ansatz
den Inhalt des Tableview insgesamt berechnen (beispiel wenn 5 Zeilen und jeweils 50 Einheiten hoch, es ist nur eine Multiplikation Angelegenheit). Setzen Sie dann die TableView-Einschränkung auf eine 0 0 0 0 in die Ansicht und legen Sie die Ansichtshöhe auf 250 fest.
Dies funktioniert gut für feste Zellengrößen. Jedoch!
a) Wie wäre das Problem für die dynamische Höhe Zellen jedoch mit komplexen Randbedingungen in einem Szenario angefahren werden, wo Größenanpassung automatisch und die tableHeightForRow passiert ist auf UITableViewAutomaticDimension?
b) Eine Idee könnte tableView.contentSize verwenden. Wann würden wir diesen Wert jedoch sicher abrufen, um den übergeordneten Ansichtsrahmen entsprechend zu setzen? Ist das überhaupt möglich?
Vielen Dank allen
Uhhhh ... Sollte die Tabellenansicht nicht in der Lage sein, Inhalte zu scrollen, wenn mehr Zellen hinzugefügt werden? Nehmen wir an, 1000 Zellen werden hinzugefügt, Sie müssen Scroll aktivieren, richtig? –
Im Falle von 1000 Artikeln sicher. Aber oft haben Sie vielleicht eine Kombination von 6 Artikeln, von denen Sie nicht wissen, welche angezeigt werden. In meinem Fall mache ich eine benutzerdefinierte Ansicht, die über einer Map-Pin angezeigt wird, die eine E-Mail, Telefon, Titel, Öffnungszeiten, Eröffnungstage und ein paar mehr Dinge enthält. Nicht alle diese Informationen sind immer verfügbar. –
Vielleicht werden diese 6 Elemente in einer Woche zu 7 und vielleicht wird der dritte Artikel in einem Monat aus der Spezifikation gelöscht. Eine Tabelle (ich nehme an, korrigiere mich wenn falsch) ist einfacher mit einer Variablenansicht wie dieser umzugehen. Eine Alternative wäre, eine statische Ansicht über die andere zu setzen und sie relativ zu beschränken, aber dies wäre weniger einfach zu pflegen als eine Tabelle. Recht? –