1

未公開画像のフィードを作成していますimage.seen = 0

NSFetchedResultsControllerバンドルされていUITableViewControllerます。

でマークimage.seen = 1していtableView:didEndDisplayingCell:forRowAtIndexPathます。

ユーザーが image2 を含む行 2 にスクロールすると、image1 が更新され、row1 が削除されます。

case NSFetchedResultsChangeDelete:

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

    break;

ただし、row1 を削除すると、UITableViewは現在スクロール位置が上から 1 であることを記憶し、削除時にそのスクロール位置を維持します。

したがって、row3 にスクロールされます。row2 が表示されなくなり、削除されます。削除が完了すると、テーブルはrow4までスクロールします....

どうすればこれを回避できますか?

4

1 に答える 1

0

外部で行を削除する場合は、canEditRowAtIndexPath テーブルビュー デリゲートで行を削除できます。配列からロードする場合は、tableView の行番号に基づいて配列内の特定のインデックスから記録されたデータを削除し、データをリロードします。

于 2013-04-13T04:43:32.373 に答える