在UITableview中删除一行后,在底部插入新行

时间:2018-08-24 03:26:07

标签: ios xamarin.ios

我有一个需要始终显示三行的表格视图的要求。

当用户滑动删除行时,我需要在底部添加新行。

在这种情况下,必须保留将行向左移动以删除的滑动动画。我的意思是删除动画不应该受到影响。这可能吗?

1 个答案:

答案 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