Tableview - 在添加新单元格之前等待单元格被删除

时间:2013-10-03 15:42:37

标签: ios objective-c animation uitableview

我有一个表视图,如果你选择一行,它会在行下面添加一个选择器。但是如果选择了另一行,它会隐藏第一个选择器(使用选择器删除该行),然后添加一个新的选择器。

现在我的问题是,如何在添加新行之前等待删除动画完成?

这是我添加新行的方式。它在didSelectRow方法中。

NSIndexPath *selectedIndex = [NSIndexPath indexPathForRow:indexPath.row + 1 inSection:indexPath.section];
pickerInsertedAtIndexPath = selectedIndex;
NSArray *indexes = @[selectedIndex];
[tableView beginUpdates];
[tableView insertRowsAtIndexPaths:indexes withRowAnimation:UITableViewRowAnimationMiddle];
[tableView endUpdates];

这是删除行的方法。这是在willSelectRow方法中。

[tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:indexes withRowAnimation:UITableViewRowAnimationMiddle];
[tableView endUpdates];

2 个答案:

答案 0 :(得分:0)

不幸的是,没有关于表视图动画何时结束的回调。在添加新选择器之前,您必须等待所选的时间间隔。

答案 1 :(得分:0)

不确定这是否与您的方案匹配,但您可以使用:

tableView:didEndDisplayingCell:forRowAtIndexPath:

UITableViewDelegate回调,会在您从UITableView移除某个单元格时通知您?