2010-09-12 94 views
0

我有一个UITableView,它的数据从服务器连接刷新。对于UITableViewcell,我在整行上布置了一些标签。所以它可以考虑作为UILabels的网格(标签总数=表格行数*表格列数)。UITableView可重用单元格问题

当数据刷新时,我为UILabel添加了一个动画来突出显示表格单元格更新(标记背景颜色变化约0.5秒并恢复到以前的背景颜色)。在那里我比较旧价值和新价值,我加入了比较这些动画。它工作正常。

我的问题是当我滚动表格时,因为可重用的单元格标签变得动画(虽然相应的值不会改变)。任何人有想法如何避免这个问题?谢谢。

回答

3

这听起来像你打电话reloadDatatableView:cellForRowAtIndexPath:动画。不要这样做。不能保证UITableView会重复使用同一个单元格(它听起来像是这样,但依靠这个是不明智的,我敢肯定它不适用于reloadRowsAtIndexPath:withRowAnimation:)。例如,如果删除一行,它会做错误的事情。您可以使用-[UITableView visibleCells]获取当前可见单元格的数组。在数组中循环并使用自定义方法来告诉每个单元使用动画重新加载。