Ich habe eine UITableViewCell
, die eine UICollectionView
oben und eine UITableView
auf der Unterseite enthält. Die Idee ist, dass eine dynamische Menge von Zellen in der inneren UITableView
erstellt wird und die übergeordnete UITableViewCell
, die die zwei Untersichten umgibt, wird seine Höhe proportional erhöhen.iOS/Swift: Dynamische UITableViewCell Zeilenhöhe mit eingebetteten UITableView funktioniert nicht
Ich versuche, die estimatedRowHeight
+ UITableViewAutomaticDimention
Funktion der UITableViewCell
nutzen, die die Zelle Höhe dynamisch erhöhen können. Es funktioniert jedoch nicht. Es entfernt vollständig das eingebettete UITableView
aus Sicht.
Ich habe keine Einschränkungen gemacht, die die Höhe der eingeschlossenen UITableView
begrenzen, so dass ich bin mir nicht sicher, warum es nicht funktioniert.
Hier ist die Implementierung, die eine dynamisch UITableViewCell
Größe zu machen versucht:
class OverviewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.title = "Enclosed Table View Example"
}
func numberOfSections(in tableView: UITableView) -> Int {
return 3
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return 325 // Height for inner table view with 1 cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 45
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let cell = tableView.dequeueReusableCell(withIdentifier: "appHeaderCell") as! AppHeaderCell
return cell
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "appCell", for: indexPath) as! AppCell
return cell
}
}
ist Meine einzige Vermutung, dass die Einschränkung bottom = Inner Table View.bottom + 7
das Problem verursacht, sondern die gesamte Ansicht fällt auseinander, wenn diese Einschränkung wird entfernt.
Was kann ich tun, um die komplexe äußere UITableViewCell
Höhe auf der Grundlage der Anzahl der Zellen in der eingebetteten UITableView
dynamisch Höhe anpassen?