Ich habe eine UITableViewCell mit UILabel, die die Höhe korrekt nach Textlänge ändert. Um dies zu erreichen Ich habe Automatisches Layout Einschränkungen richtig eingestellt und angegebenÄndern UILabel Textlänge in UITableViewCell mit dynamischer Höhe nicht die Größe ändern
tableView.rowHeight = UITableViewAutomaticDimension
Das Problem, das ich habe, ist, wenn der Test der UILabel wird länger nach einer UIButton drücken - mehr dazu, in der Zelle selbst. Ich programmiere programmatisch Text zum UILabel und erwarte, dass die Zellenhöhe wächst. Ich habe hinzugefügt:
self.layoutIfNeeded()
self.updateConstraints()
in der Zelle, aber es funktioniert nicht. Zelle bleibt auf gleicher Höhe.
Ich habe auch eine Neuladung der Zelle Zeile in der Delegierten UIViewController gezwungen, aber es funktioniert auch nicht. Fehle ich etwas Grundlegendes hier?
EDIT: Die Frage unterscheidet sich von anderen ähnlichen Fragen, denn ich möchte die Antwort zu vermeiden, die Höhe manuell berechnen zu müssen. Da AutoLayout in der Lage ist, die korrekte dynamische Höhe beim ersten Laden zu berechnen, sollte es einen Weg geben, die Zelle neu zu zeichnen, sobald der Text im Etikett länger wird, ohne manuelle Berechnungen zur Schätzung der Zeilenhöhe durchführen zu müssen.
Eine Sache machen, IBOutlet von UILabel Height binden und dann diese Konstante aktualisieren.it wird funktionieren –
Mögliches Duplikat von [Ändern der Höhe einer UITableViewCell mit dynamischer Höhe, nachdem sie bereits erschienen ist] (http://stackoverflow.com/questions/35142584/Ändern der Höhe einer dynamischen Höhe-uitableviewcell-after-its-bereits-Appeal – fishinear
Das ist die gleiche Frage, aber die Antwort gibt es nicht, was ich frage, ich will nicht Berechnen Sie die Höhe selbst, noch die geschätzte Höhe. Ich möchte ein AutoLayout-Neuzeichnen erzwingen. –