Programmaticlaly перемещает строки с анимацией в UITableView
Я хочу переместить строку в нижней части моего UITableView
с эффектом крутой анимации, как в это приложение "Список покупок для покупок" .
Так же, как мы можем перемещать строки с контролем переупорядочения, например:
![reordering uitableview rows programmatically]()
Как создать такую анимацию?
Ответы
Ответ 1
В IOS 5 это можно сделать со следующим селектором UITableView
:
- (void)moveRowAtIndexPath:(NSIndexPath *)indexPath toIndexPath:(NSIndexPath *)newIndexPath
Например:
[self.tableView moveRowAtIndexPath:indexPath toIndexPath:[NSIndexPath indexPathForRow:[items count] - 1 inSection:1]];
Ответ 2
Важно: этот ответ предполагает iPhone OS 3.x. См. ответ выше для iOS 5.x
Я не знаю, что такое "классный эффект анимации, как в приложении" Список покупок в магазинах ". Не у всех есть это приложение.
Строки не могут быть перемещены программно.
Однако вы можете одновременно вставлять и удалять строку для имитации перемещения.
[tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:rowToMove]
withRowAnimation:UITableViewRowAnimationLeft];
[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPathToMoveTo]
withRowAnimation:UITableViewRowAnimationLeft];
// update your dataSource as well.
[tableView endUpdates];
Ответ 3
Это похоже на то, что я сделал, чтобы разрешить перетаскивание из одного прокрутки в другой.
Вам нужно создать дубликат/фиктивную ячейку (для визуального эффекта), затем удалить исходную ячейку, затем одушевить дубликат, затем вставить в нижнюю часть и затем, наконец, удалить дубликат/фиктивную ячейку.