如何重新加载一个单元格/行并为其设置动画?
现在我下载一些文件。每次文件下载完成时,我都会调用它的完成委托并调用 [tableview reload]。
但随后整个表都会重新加载。我怎样才能为表格设置动画,这样它就不会闪烁。例如淡入淡出效果等。
问候麦克斯
使用以下内容UITableView
实例方法:
- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
您必须指定一个NSArray
of NSIndexPaths
您想要重新加载。如果你只是想重新加载。如果您只想重新加载一个单元格,那么您可以提供一个NSArray
只容纳一个NSIndexPath
。例如:
NSIndexPath* rowToReload = [NSIndexPath indexPathForRow:3 inSection:0];
NSArray* rowsToReload = [NSArray arrayWithObjects:rowToReload, nil];
[myUITableView reloadRowsAtIndexPaths:rowsToReload withRowAnimation:UITableViewRowAnimationNone];
您可以看到UITableViewRowAnimation
枚举所有可能的行刷新动画方式。如果您不需要任何动画,则可以使用该值UITableViewRowAnimationNone
, 就像在此样品中。
重新加载特定行比简单地获得您想要的动画效果具有更大的优势。您还可以获得巨大的性能提升,因为只有真正需要重新加载的单元格的数据才会被刷新、重新定位和重新绘制。根据单元格的复杂性,每次刷新单元格时可能会产生相当大的开销,因此缩小刷新量是一项必要的优化,应尽可能使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)