2009-07-28 2 views
8

У меня есть сгруппированный UITableView с несколькими строками, и я оживляю еще несколько строк и переключаюсь на переключатель кнопки. Проблема в том, что с любым из типов анимации строк, которые я использую (верхняя & внизу), анимация выглядит ужасно! Вот скриншот середине анимации:Сгруппированные атрибуты анимации строки UITableView

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

Есть ли причина, почему это выглядит так плохо? Или все сгруппированные анимации в виде таблицы выглядят потрясающе !?

Я думаю, что это выглядит так плохо, когда первая или последняя строка в разделе анимируется, поэтому мне просто интересно, есть ли способ получить это немного лучше !? В противном случае, я думаю, я просто позвоню reloadData и все это просто появится.

Благодарим за помощь!

Michael

+0

У меня никогда не было проблем с анимацией, но я использовал только негруппированный стиль. Я отвечу, как только проведу некоторые вещи. – TahoeWolverine

+0

Получено Ваша ссылка на изображение больше не действительна; хотите загрузить его в imgur и повторно связать? – brandonscript

ответ

12

Если вы удаляете, добавляете и/или перемещаете несколько строк в UITableView одновременно, вы должны приложить все эти вызовы с помощью beginUpdates и endUpdates. В противном случае результат не определен.

Например:

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

Ах, отлично, я попробую это, как только смогу! Спасибо за ваш ответ! –

0

Я не уверен, что именно выглядит плохо. Трудно сказать со статической картины.

К сожалению, у вас нет контроля над анимацией вставки/удаления в виде таблиц. Все это обрабатывается API UITableView высокого уровня.

Единственный другой вариант - выполнить анимацию отдельно и последовательно и посмотреть, будет ли это выглядеть лучше. Я сделал это, чтобы устранить некоторые артефакты.

Также попробуйте различные анимации, такие как выцветание в/из. Не так криво, но выглядит лучше в некоторых ситуациях.

0

Я использовал анимацию в сгруппированном виде таблицы без каких-либо проблем, и она всегда выглядела великолепно. Как насчет совместного использования кода? Возможно, вы делаете что-то не так в здании ячейки ... или, хотя это маловероятно при вставке строк.

+0

Конечно, я отправлю код, как только смогу! –

0

Как уже говорилось, размещение некоторого кода поможет.

Вы уже выполняете несколько вложений/удалений внутри блока beginUpdates/endUpdates?

0

Для дальнейшего использования, пожалуйста, см #6931544. Я обнаружил, что эти произвольные строки могут быть удалены со второго перехода: -

[self.tableView setSeparatorStyle:UITableViewCellSelectionStyleNone]; 
Смежные вопросы