删除和同时插入表格视图行时,删除按钮会突然消失

时间:2014-04-01 12:25:41

标签: ios uitableview

我有一个可编辑的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处插入一个新行。发生的事情是,当新单元格从右侧移入时,动画将旧单元格推向左侧。但只有当整个动画完成后,红色删除按钮才会突然消失。

Delete button overlaps new cell

如何使删除按钮平滑消失(带动画)?

0 个答案:

没有答案