2013-10-09 102 views
16

我想用一些有趣的動畫重新加載UICollectionView。在UITableView中有一個名爲reloadSections:withRowAnimation的方法。 但是在UICollectionView中只有reloadSectionsUICollectionView用動畫重新加載部分

我該如何定製reloadSections動畫?我在App Store的應用程序中看到了這一點。

+0

[UICollectionView動畫數據變化]的可能重複(http://stackoverflow.com/questions/13272315/uicollectionview-animate-data-change) – Vinzzz

回答

27

就那樣做:

[self.collectionView performBatchUpdates:^{ 
    [self.collectionView reloadSections:[NSIndexSet indexSetWithIndex:0]]; 
} completion:nil]; 
+1

謝謝,但它仍然使用淡入淡出的動畫進行動畫... – Sergey

+0

然後,您必須深入探索並編寫自己的'''UICollectionViewLayout'''。您無法將其與UITableView進行比較,因爲UICollectionView不僅僅是在1D(如UITableView)或2D(如使用UICollectionViewFlowLayout)中顯示數據。您不限於任何內容,因此除內置淡入淡出之外,沒有簡單的動畫。自定義佈局不能使用不同的幻燈片從頂部/底部/中間動畫,因爲動畫不能全局定義! – Fab1n

14

夫特3版本:

collectionView.performBatchUpdates({ 
    let indexSet = IndexSet(integer: 0) 
    self.collectionView.reloadSections(indexSet) 
}, completion: nil)