【发布时间】:2011-08-07 01:20:01
【问题描述】:
我有一个表格视图,其中包含可以删除的单元格。当一个单元格被删除时,我想显示一个删除动画,例如UITableViewRowAnimationFade。问题是我的表格视图的单元格具有交替的背景颜色,所以我需要在动画完成后-reloadData 来修复已删除单元格下方所有单元格的颜色。
所以,如果您还没有读到这里,我需要一种在表格视图动画完成后运行一些代码的方法。我目前正在使用performSelector:withObject:afterDelay: 并对动画延迟的近似值进行硬编码。此方法有效,但必须有更好的方法:
NSIndexPath * path = [listTable indexPathForCell:deletingCell];
NSArray * indexPaths = [NSArray arrayWithObject:path];
[listTable deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationFade];
[listTable performSelector:@selector(reloadData) withObject:nil afterDelay:0.35];
在这种情况下,我假设 UITableViewRowAnimationFade 将花费不到 0.35 秒的时间来完成。
【问题讨论】:
标签: objective-c ios xcode uitableview