2012-07-24 15 views
6

Czy mimo to można zmieniać wysokość komórki podczas przewijania UITableView?Zmiana wysokości komórki podczas przewijania UITableView

Potrzebuję zmienić wysokość wielu komórek, gdy pozycja przewijania osiągnie określony punkt, gdy użytkownik przeciągnie go w dół poza górną krawędź. Mogę to zrobić skutecznie, wydając polecenie reloadData, jednak jest ono bardzo gwałtowne, ponieważ komórki znikają.

Próbowałem również przeładować komórki i uruchomić aktualizacje początku/końca w widoku tabeli, jednak w obu przypadkach animacja przesyła widok przewijania z powrotem na górę.

Chciałbym animować zmianę wysokości komórki bez pomniejszania bieżącego przesunięcia zawartości przeciągania w toku.

Tim

Odpowiedz

0

Użyj UITableViewDelegate i wdrożenie metody

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

to rozwiązać Twój problem? Jeśli to nie rozwiązuje problemu, spróbuj wyjaśnić lepiej swój cel za pomocą przykładów/obrazów.

+0

Witam. Nie, to wcale nie odpowiada na pytanie. Wiem, jak ustawić wysokość komórki, ale pytałem, jak zmienić ją dynamicznie, z animacją, podczas operacji przewijania. – tarmes

+0

Co powinno uruchomić animację? Kiedy już wiesz, jak go wyzwolić, po prostu zaktualizuj zmienną używaną do przechowywania wysokości konkretnej komórki, niż użyj: '[tableView beginUpdates];' '[tableView endUpdates];' – Bagbyte

+1

Witam. To bardzo stare pytanie - odpowiadam na wypadek, gdy jest to interesujące dla innych. Ponowne przeczytanie pytania wydaje się oczywiste - gdy użytkownik przewija tabelę palcem, potrzebuję (ed) do zmiany wysokości niektórych wierszy na podstawie pozycji przewijania. Stwierdzam również, że próbowałem użyć bloku aktualizacji początkowej/końcowej, ale to się nie udało. – tarmes

Powiązane problemy