2009-07-28 14 views
8

Mam zgrupowany UITableView z kilkoma wierszami i animuję kilka kolejnych wierszy w przełączniku. Problem polega na tym, że z dowolnym typem animacji wiersza, którego używam (na górze &) animacja wygląda okropnie! Oto zrzut ekranu połowy animacja:Zgrupowane UITableView dziwactwa animacji wierszy

Example http://files.michaelwaterfall.com/images/uitableview-animation.png

Czy istnieje powód, dlaczego to wygląda tak źle? Czy wszystkie zgrupowane animacje widoku tabeli wyglądają tak szokująco !?

Wydaje mi się, że wygląda tak źle tylko wtedy, gdy animowany jest pierwszy lub ostatni wiersz w sekcji, więc zastanawiam się, czy jest jakiś sposób, żeby wyglądało to lepiej !? Inaczej myślę, że po prostu zadzwonię do reloadData i sprawię, że wszystko się po prostu pojawi.

Dzięki za pomoc!

Michael

+0

Nigdy nie miałem problemu z animacjami, ale użyłem tylko stylu rozgrupowania. Odpowiem, gdy przetestuję niektóre rzeczy. – TahoeWolverine

+0

Wygląda na to, że Twój link do obrazu jest już nieważny; chcesz go przesłać do imgur i ponownie połączyć? – brandonscript

Odpowiedz

12

Jeśli usuniesz, dodasz i/lub przeniesiesz kilka wierszy w numerze UITableView w tym samym czasie, musisz załączyć wszystkie te połączenia pod numerami beginUpdates i endUpdates. W przeciwnym razie wynik jest nieokreślony.

Na przykład:

[tableView beginUpdates]; 
[tableView insertRowsAtIndexPaths:newRows 
        withAnimation:UITableViewRowAnimationTop]; 
[tableView deleteRowsAtIndexPaths:invalidRows: 
        withAnimation:UITableViewRowAnimationTop]; 
[tableView endUpdates]; 
+0

Ach, świetnie, wypróbuję to wkrótce, jak będę mógł! Dzięki za twoją odpowiedź! –

0

Nie jestem do końca pewien, co wygląda źle. Trudno powiedzieć od statycznego obrazu.

Niestety, nie masz żadnej kontroli nad animacją wstawiania/usuwania w widokach tabel. Wszystko to obsługiwane jest przez interfejs API UITableView wysokiego poziomu.

Jedyną opcją jest wykonanie animacji osobno i kolejno po sobie i sprawdzenie, czy to wygląda lepiej. Zrobiłem to, aby wyeliminować niektóre artefakty.

Spróbuj także różnych animacji, takich jak zanikanie/zanikanie. Nie tak krzykliwe, ale w niektórych sytuacjach wygląda lepiej.

0

Użyłem animacji w zgrupowanym widoku tabeli bez problemu i zawsze wyglądało świetnie. Co powiesz na dzielenie się częścią kodu? Może robisz coś złego w budowaniu komórki ... lub chociaż mało prawdopodobne w wstawianiu wierszy.

+0

Oczywiście, opublikuję kod tak szybko, jak tylko będę mógł! –

0

Jak powiedzieli inni, umieszczenie kodu pomogłoby.

Czy wykonujesz już wiele wstawień/usunięć wewnątrz bloku beginUpdates/endUpdates?

0

Na przyszłość, proszę zobaczyć #6931544. Zauważyłem, że te arbitralne linie w połowie przejścia można usunąć za pomocą: -

[self.tableView setSeparatorStyle:UITableViewCellSelectionStyleNone]; 
Powiązane problemy