Подтвердить что ты не робот

Programmaticlaly перемещает строки с анимацией в UITableView

Я хочу переместить строку в нижней части моего UITableView с эффектом крутой анимации, как в это приложение "Список покупок для покупок" .

Так же, как мы можем перемещать строки с контролем переупорядочения, например:

reordering uitableview rows programmatically

Как создать такую ​​анимацию?

4b9b3361

Ответ 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

Это похоже на то, что я сделал, чтобы разрешить перетаскивание из одного прокрутки в другой.

Вам нужно создать дубликат/фиктивную ячейку (для визуального эффекта), затем удалить исходную ячейку, затем одушевить дубликат, затем вставить в нижнюю часть и затем, наконец, удалить дубликат/фиктивную ячейку.