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

Добавить/Удалить UITableViewCell с анимацией?

Я знаю, это может показаться глупым вопросом, но я посмотрел куда угодно. Как я могу это сделать?

Я знаю, как это сделать с помощью метода swype-to-delete, но как cam я делаю это вне этой функции?

Пожалуйста, разместите несколько образцов кода.

Спасибо!
Коултон

4b9b3361

Ответ 1

[self.tableView beginUpdates];
[self.tableView insertRowsAtIndexPaths:insertIndexPaths withRowAnimation:UITableViewRowAnimationFade];
[self.tableView deleteRowsAtIndexPaths:deleteIndexPaths withRowAnimation:UITableViewRowAnimationFade];
[self.tableView endUpdates];

insertIndexPaths - это массив NSIndexPaths, который будет вставлен в вашу таблицу.

deleteIndexPaths - это массив NSIndexPaths, который нужно удалить из вашей таблицы.

Пример формата массива для индексных путей:

NSArray *insertIndexPaths = [[NSArray alloc] initWithObjects:
        [NSIndexPath indexPathForRow:0 inSection:0],
        [NSIndexPath indexPathForRow:1 inSection:0],
        [NSIndexPath indexPathForRow:2 inSection:0],
        nil];

Ответ 2

В Swift 2.1 +

tableView.beginUpdates()
tableView.deleteRowsAtIndexPaths([YourIndexPathYouWantToDeleteFrom], withRowAnimation: .Fade)
tableView.insertRowsAtIndexPaths([YourIndexPathYouWantToInsertTo], withRowAnimation: .Fade)
tableView.endUpdates()

И вы можете легко создать NSIndexPath:

NSIndexPath(forRow: 0, inSection: 0)

Ответ 3

Вам нужны эти два метода: insertRowsAtIndexPaths:withRowAnimation: и deleteSections:withRowAnimation: Они оба подробно описаны в документации UITableView.