我有一个表视图,如果你选择一行,它会在行下面添加一个选择器。但是如果选择了另一行,它会隐藏第一个选择器(使用选择器删除该行),然后添加一个新的选择器。
现在我的问题是,如何在添加新行之前等待删除动画完成?
这是我添加新行的方式。它在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];
答案 0 :(得分:0)
不幸的是,没有关于表视图动画何时结束的回调。在添加新选择器之前,您必须等待所选的时间间隔。
答案 1 :(得分:0)
不确定这是否与您的方案匹配,但您可以使用:
tableView:didEndDisplayingCell:forRowAtIndexPath:
UITableViewDelegate
回调,会在您从UITableView
移除某个单元格时通知您?