web-dev-qa-db-ja.com

UICollectionviewの更新

コレクションビューの表示中にUICollectionViewを再読み込み/更新する方法を知っている人はいますか?基本的に、UITableviewの標準のreloadDataメソッドに似たものを探しています。

20
SNV7

あなただけを呼び出すことができます:

[self.myCollectionView reloadData];

個々のセクションとアイテムもリロードできます。

[self.myCollectionView reloadSections:indexSet];
[self.myCollectionView reloadItemsAtIndexPaths:arrayOfIndexPaths];
49
Firo
[self.collectionView reloadData];
10
Lücks

正しい最善の方法は

NSMutableArray *indexPaths = [NSMutableArray array];
//prepare some data
//batchupdate as block
[self.collectionView performBatchUpdates:^{
    //operations like delete
   [self.collectionView deleteSections:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, count)]];
    [self.collectionView insertItemsAtIndexPaths:indexPaths];
} completion:^(BOOL finished) {
    // call something when ready
    }
}];

すべてのアニメーションが事前に計算されます。ベストプラクティスは、競合を避けるために、最初にすべての要素を削除してから追加することです。

0
Karsten