1

Ich kämpfe mit verdrahteten Art von Problem. Ich habe UITableView mit einer Zelle. Diese Zelle hält nur containerView mit childViewController (zweite tableView). Mein Problem ist, dass zuerst TableView (Eltern) UITableViewAutomaticDimension Zeilenhöhe haben muss, aber es funktioniert nicht (Es kennt nicht die korrekte Größe dieser Zelle mit der zweiten tableView). Wie bekomme ich die korrekte Größe der Sekunde tableView)?Wie bekomme ich die Höhe von UITableView in einer anderen UITableView in Zelle platziert als childViewController

enter image description here

Second Tableview (inside Cell) haben scrollingEnabled ausgeschaltet (tableView.scrollEnabled = false), erste Tableview richtige Größe der zweiten Tableview, um eine korrekte Bildlauf-Erlebnis zu bieten haben.

+0

ein Bild zur Verfügung stellen, um klarer zu sein – ddb

Antwort

0

Da ein UITableView von UIScrollView erbt, können Sie die contentSize Eigenschaft verwenden, um diese Information zu erhalten. So funktioniert die Bildlaufleiste auf der Seite.

Ich habe eine ähnliche Sache vor (vor langer Zeit) getan, also ist das folgende etwas dunstig/irrelevant/unausweichlich. In der eingebetteten Tabellenansicht können einige Fehler mit unbekannter/nicht gerenderter Zellenhöhe auftreten. Ich erinnere mich, dass ich die TableView-Höhe auf eine große Zahl setzen musste (zwinge alle Zellen zum Rendering), indem ich die contentSize löste und dann die TableView-Höhe auf contentSize.height zurückstellte.

0

Sind Sie sicher, dass Sie wirklich eine zweite Tabellenansicht benötigen? Wenn Sie nur eine Zelle haben, brauchen Sie sie wahrscheinlich nicht. Ich empfehle Ihnen, die Tabellenansichtshöhe als Summe der Zellenhöhen zu berechnen. Wenn Zellen der eingebetteten Tabellenansicht konstante Höhe haben, könnte es einfach sein. In anderen Fällen könnten Sie auch die Zellenhöhe berechnen.