2012-07-24 16 views
6

Gibt es trotzdem eine Möglichkeit, die Höhe einer Zelle dynamisch zu ändern, während Sie ein UITableView scrollen?Ändern der Zellenhöhe beim Scrollen eines UITableView

Ich muss die Höhe einer Anzahl von Zellen ändern, wenn die Bildlaufposition einen bestimmten Punkt erreicht, wenn der Benutzer sie über den oberen Rand hinauszieht. Ich kann das erfolgreich tun, indem ich reloadData ausstelle, aber es ist sehr abrupt, da die Zellen einfach verschwinden.

Ich habe auch versucht, die Zellen neu zu laden und die Anfangs-/Ende-Updates in der Tabellenansicht auszuführen, aber in beiden Fällen sendet die Animation die Bildlaufansicht zurück an den Anfang.

Ich möchte die Zellhöhenänderung animieren, ohne den aktuellen Inhaltsversatz des laufenden Ziehens in Unordnung zu bringen.

Tim

Antwort

0

Verwenden Sie die UITableViewDelegate und implementieren die Methode

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 

Ihr Problem lösen? Wenn es Ihr Problem nicht löst, versuchen Sie, Ihr Ziel mit Beispielen/Bildern besser zu erklären.

+0

Hallo. Nein, das beantwortet die Frage überhaupt nicht, fürchte ich. Ich weiß, wie man die Zellenhöhe einstellt, aber ich fragte, wie man es während einer Scroll-Operation dynamisch mit einer Animation ändert. – tarmes

+0

Was sollte die Animation auslösen? Sobald Sie wissen, wie Sie es auslösen können, aktualisieren Sie einfach die Variable, die Sie verwenden, um die Höhe einer bestimmten Zelle zu speichern, als: '[tableView beginUpdates];' '[tableView endUpdates];' – Bagbyte

+1

Hallo. Das ist eine sehr alte Frage - ich antworte, falls das für andere von Interesse ist. Beim erneuten Lesen der Frage scheint das Ziel klar zu sein - wenn der Benutzer den Tisch mit dem Finger scrollt, muss ich die Höhe bestimmter Zeilen basierend auf der Bildlaufposition ändern. Ich gebe auch an, dass ich versucht habe, einen Anfangs-/Endaktualisierungsblock zu verwenden, aber das ist fehlgeschlagen. – tarmes

Verwandte Themen