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並重新加載數據。