1

我建立看不见图像image.seen = 0UITableView中删除行不滚动

的进我有一个UITableViewController捆绑NSFetchedResultsController

我打标image.seen = 1tableView:didEndDisplayingCell:forRowAtIndexPath

当我的用户滚动到包含image2的row2时,image1将被更新并且row1将被删除。

case NSFetchedResultsChangeDelete: 

    [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] 
         withRowAnimation:UITableViewRowAnimationFade]; 

    break; 

然而,当你删除ROW1,该UITableView会记得你是在目前从顶部滚动位置1和维护滚动位置当你删除发生。

因此,您将滚动到第3行。 row2现在不在视图中并被删除。当删除完成后,表格将滚动到第4行....

如何解决此问题?

+0

当你删除一行时,UITableView实际上并不滚动。 – klcjr89

+0

@ troop231是的,它的确如此。检查我构建的这个示例项目。 http://bit.ly/10TMBba – disappearedng

+0

我的不好,我并没有真的认为这被认为是滚动。 – klcjr89

回答

0

如果我们想从外部删除行,我们可以删除canEditRowAtIndexPath tableview delegate中的行,如果我们从数组中加载删除从基于tableView的行号的数组中的特定索引中recored并重新加载数据。