2012-04-16 4 views
1

У меня есть приложение с UITTableView. Эта таблица обновляется. И когда в следующем обновлении количество строк меньше, чем в предыдущей версии, я реализую метод UITableView's - deleteRowsAtIndexPaths.deleteRowsAtIndexPaths без анимации

Я делаю это так:

[table beginUpdates]; 
[table deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone]; 
[table reloadRowsAtIndexPaths:indexPathsReload withRowAnimation:UITableViewRowAnimationNone]; 
[table endUpdates]; 

Но когда я реализовать этот код есть анимация. И эта анимация действительно плохая. Много черных утечек. Но я написал - withRowAnimation:UITableViewRowAnimationNone в обоих методах: удалить и перезагрузить.

Почему? Как я могу перезагрузить и удалить строки без анимации?

ответ

1

Возможно, вы пытаетесь работать с NSMutableArray (удалить строку методом removeObjectAtIndex: indexPath.row) в TableView и перезагрузить весь tableview с помощью [tableView reloadData]?

+0

я не могу это сделать, потому что у меня есть первая ячейка, которая я не должен перезагружать –

+0

установить жест распознаватель нового в cellforrowatIndex – developerdude

2

Как правило, это делается путем изменения источника данных таблицы и вызова reloadData на столе.

+0

еще один раз - я не могу это сделать, потому что у меня есть первая ячейка, которая я не должен перезагружать –

+0

Это не имеет смысла для меня ... табличный вид будет просто перерисовывать ваши ячейки ... Ваша первая ячейка особенно тяжелая или что-то еще? – borrrden

+0

yep. в первой ячейке есть распознаватель жестов. если я перезагружу таблицу, этот жест умрет –

1

Вы можете попробовать сделать это «жест» из таблицы, и попытайтесь перезагрузить таблицу