2016-10-06 13 views
0

コレクションビューをバックアップするアイテムIDの配列があります。ユーザーがコレクションビューをスクロールすると、各セルはそのIDのオブジェクトを取得し、次にそのオブジェクトに関連付けられたイメージを取得します。オブジェクトに関連するイメージがない場合、配列からそのアイテムIDを削除し、画面上のコレクションビューを更新したいとします。問題は、画像がない(更新が多い)オブジェクトがたくさんあることです。すぐにコレクションビューを更新する必要があります(アニメーションの時間がない)。アニメーションなしでコレクションビューからアイテムを削除するにはどうすればよいですか?

reloadDataを使用すると、オブジェクトが削除されるたびにコレクションビューが点滅します。 deleteItemsAtIndexPathsを使用すると、望ましくないアニメーションが必要になります。 reloadDataではないアニメーションなしでコレクションビューからアイテムを削除する方法はありますか?

答えて

0

アニメーションを無効にするオプションで特定の行をリロードする必要があります。

[UIView setAnimationsEnabled:NO]; 

[collectionView performBatchUpdates:^{ 
    [collectionView reloadItemsAtIndexPaths:indexPaths]; 
} completion:^(BOOL finished) { 
    [UIView setAnimationsEnabled:YES]; 
}]; 
関連する問題