2016-07-05 19 views
0

Ich verwende Auto Layout für meine UITableView und es ist benutzerdefinierte Zellen. Eine dieser Zellen hat eine UIStackView, zu der ich angefügte Unteransichten hinzufüge und entferne. Wenn sich die angeordneten Unteransichten jedoch ändern, ändert sich die Größe der Zelle nicht.UITableViewCell ändert nicht die Größe, wenn UIStackView seine angeordneten Unteransichten ändert

Der Aufruf der reloadData() Methode ist eine Lösung für dieses Problem, jedoch möchte ich nur die eine Zelle aktualisieren, die sich ändert.

Wenn ich versuche, reloadRowsAtIndexPaths(_:withRowAnimation:) aufrufen, wird es nur aktualisiert, um die vorherige Änderung in den arrangierten Unteransichten anzuzeigen. Wenn ich zum Beispiel eine angeordnete Unteransicht anfüge, etwa eine rote, scheint nichts zu passieren (obwohl die Unteransichten hinzugefügt werden, wenn ich nachschaue), dann bewirkt das Hinzufügen einer Sekunde, dass die Zelle neu geladen wird, aber nur aktualisiert wird, um das vorherige Rot anzuzeigen arrangierte Subview, die hinzugefügt wurde und so weiter.

Gibt es eine Möglichkeit, bestimmte Zellen zum Layout in der UITableView zu zwingen?

Update: Here is a link to an example project showing the issue:

+0

Wie hast du repariert? – iOS

Antwort

0

Es scheint die Antwort here Werke geschrieben. Ich habe mich für die nicht animierte Version der Antwort entschieden, aber beide scheinen zu funktionieren.