我有自定义背景(一个用于第一行,另一个用于中间行,另一个用于最后一行)。当我删除tableView的一行(滑动删除)时,如果我删除了第一行,那之前是中间行的新第一行,则仍然保留中间背景。
我尝试重新加载数据并且它可以正常工作,但它会在删除时杀死漂亮的淡入淡出动画。
如何在不破坏平滑动画的情况下更新样式?
提前致谢!
答案 0 :(得分:1)
您可以使用reloadRowsAtIndexPaths:withRowAnimation:
(创建一个数组,其中包含要更新的表行的索引路径)。在调用beginUpdates
和endUpdates
之间,您可以使用它来创建平滑动画。 (在UITableView上调用的所有方法)
请注意,这些函数确实了解更新的“之前”和“之后”,并且可以检查部分和行数是否合适(在beginUpdates和endUpdates之间插入和删除时尤其重要。
答案 1 :(得分:0)
你可以做的是重新运行你的逻辑,取决于你有多少个单元格,并循环你有多少行
然后您可以通过以下方式获取该单元格:
UITableViewCell *cell = [tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:(int)someRow inSection:(int)whateverSection];
然后重置背景颜色