我正在构建一个看不见的图片image.seen = 0
我有NSFetchedResultsController
与UITableViewController
捆绑在一起。
我在image.seen = 1
标记tableView:didEndDisplayingCell:forRowAtIndexPath
。
当我的用户滚动到包含image2的row2时,将更新image1并删除row1。
case NSFetchedResultsChangeDelete:
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
withRowAnimation:UITableViewRowAnimationFade];
break;
但是,当您删除row1时,UITableView
将记住您当前处于从顶部滚动位置1并在发生删除时为您保持滚动位置。
因此,您将滚动到row3。 row2现在不在视图中并被删除。删除完成后,表格会滚动到第4行....
我该如何解决这个问题?
答案 0 :(得分:0)
我们可以删除canEditRowAtIndexPath tableview委托中的行,如果我们想要从外部删除行,如果我们从数组中加载从数组中的特定索引中删除,则根据tableView的行号重新加载数据。