我有一个可编辑的UITableView
。用户可以删除行。当他在表视图的末尾插入另一个(不可删除的)行时。 (因此该部分中的总行数保持不变。)
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
// update data model
[self.dataArray removeObjectAtIndex:indexPath.row];
// update table view
[self.tableView beginUpdates];
// delete row
[self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:YES];
// insert row at the end of the section
NSIndexPath *indexPathForLastRow = [NSIndexPath indexPathForRow:(kMaxComponents - 1) inSection:0];
[self.tableView insertRowsAtIndexPaths:@[indexPathForLastRow] withRowAnimation:YES];
[self.tableView endUpdates];
}
效果很好。但是,当我删除表格视图的 last 行时,删除按钮突然消失,没有动画(太迟了)。
在这种情况下,在删除另一个的同一indexPath
处插入一个新行。发生的事情是,当新单元格从右侧移入时,动画将旧单元格推向左侧。但只有当整个动画完成后,红色删除按钮才会突然消失。
如何使删除按钮平滑消失(带动画)?