0

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

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

这就是我添加新行的方式。它在 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];
4

2 回答 2

0

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

于 2013-10-03T15:47:40.997 回答
0

不确定这是否符合您的情况,但您可以使用:

tableView:didEndDisplayingCell:forRowAtIndexPath:

当一个UITableViewDelegate单元格从UITableView?

于 2013-10-03T15:59:51.333 回答