2010-09-12 121 views
0

我有一個UITableView,它的數據從服務器連接刷新。對於UITableViewcell,我在整行上佈置了一些標籤。所以它可以考慮作爲UILabels的網格(標籤總數=表格行數*表格列數)。UITableView可重用單元格問題

當數據刷新時,我爲UILabel添加了一個動畫來突出顯示錶格單元格更新(標記背景顏色變化約0.5秒並恢復到以前的背景顏色)。在那裏我比較舊價值和新價值,我加入了比較這些動畫。它工作正常。

我的問題是當我滾動表格時,因爲可重用的單元格標籤變得動畫(雖然相應的值不會改變)。任何人有想法如何避免這個問題?謝謝。

回答

3

這聽起來像你打電話reloadDatatableView:cellForRowAtIndexPath:動畫。不要這樣做。不能保證UITableView會重複使用同一個單元格(它聽起來像是這樣,但依靠這個是不明智的,我敢肯定它不適用於reloadRowsAtIndexPath:withRowAnimation:)。例如,如果刪除一行,它會做錯誤的事情。您可以使用-[UITableView visibleCells]獲取當前可見單元格的數組。在數組中循環並使用自定義方法來告訴每個單元使用動畫重新加載。