В моем экземпляре UITableView я перемещаю ячейку в индекс: 0 и перезагружая данные. Проблема в том, что ячейка «привязывается» к вершине (из-за reloadData, я думаю). Мне интересно, могу ли я переместить ячейку вверх, а затем применить reloadData через несколько секунд. Heres мой код:Использование анимации с reloadData
[_toDoItems removeObject:todoItem];
[_toDoItems insertObject:todoItem atIndex:0 ];
[self.tableView beginUpdates];
[self.tableView moveRowAtIndexPath:origIndexPath toIndexPath:0];
[self.tableView endUpdates];
sleep(1);
[self.tableView reloadData];
проблема с этим, после того, как метод вызывается, все паузы в течение 1 секунды, то «привязать» анимации происходит.
Что использование 'сна (1) ; '? Убери это. – Souljacker
'sleep()' никогда не должно использоваться. Он блокирует все потоки, включая основной, который обрабатывает все визуальные эффекты. Вот почему вы видите его в ожидании секунды, а затем щелкая. Привязка просто ждет, пока его протекторы будут разблокированы. Кроме того, поскольку 'reloadData' не имеет анимации, он даст эффект« привязки ». – Firo
моя логика заключалась в том, что ячейка переместилась бы наверх; то это сон задерживает reloadData 1 секунду. – Brian