在我的項目中,我使用UICollectionView來顯示一個圖標網格。UICollectionView動畫數據變化
用戶可以通過單擊調用從不同NSSortDescriptor的核心數據獲取的分段控件來更改排序。
的數據量始終是一樣的,只是結束了在不同的部分/行:
- (IBAction)sortSegmentedControlChanged:(id)sender {
_fetchedResultsController = nil;
_fetchedResultsController = [self newFetchResultsControllerForSort];
NSError *error;
if (![self.fetchedResultsController performFetch:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
[self.collectionView reloadData];
}
的問題是,reloadData沒有動畫的變化,UICollectionView只是用新的數據持久性有機污染物。
我應該跟蹤一個單元格在更改前後的indexPath,並使用[self.collectionView moveItemAtIndexPath:toIndexPath:]來執行更改的動畫,或者有更好的方法嗎?
我沒有得到多少成子類collectionViews所以任何幫助將是巨大的......
感謝, 比爾。
你試過在動畫塊中包裝'reloadData'調用? – simon