我有一个需要始终显示三行的表格视图的要求。
当用户滑动删除行时,我需要在底部添加新行。
在这种情况下,必须保留将行向左移动以删除的滑动动画。我的意思是删除动画不应该受到影响。这可能吗?
答案 0 :(得分:0)
首先,您的dataSource
方法必须始终返回3。然后您可以通过以下方式提交更改:
numberOfRows(in:)
不要忘记相应地更新func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
tableView.performBatchUpdates({
// Delete the swiped row
tableView.deleteRows(at: [indexPath], with: .left)
// Get the last row index (numberOfRows-1)
let lastRowIndex = tableView.numberOfRows(inSection: indexPath.section)-1
// Insert a new row at the end
tableView.insertRows(at: [IndexPath(row: lastRowIndex, section: 0)], with: .top)
}, completion: nil)
}
}
的其余部分,因为可能会重复使用单元格。必须在调用dataSource
之前 添加代码。像这样:
performBatchUpdates