Projemde bir simge ızgarası görüntülemek için UICollectionView kullanıyorum.
Kullanıcı, farklı NSSortDescriptor ile çekirdek verilerden bir getirmeyi çağıran bölümlenmiş bir kontrole tıklayarak sıralamayı değiştirebilir.
Veri miktarı her zaman aynıdır, sadece farklı bölümler / satırlarla sonuçlanır:
- (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];
}
Sorun, reloadData'nın değişikliğe animasyon vermemesidir, UICollectionView sadece yeni verilerle açılır.
Değişiklikten önce ve sonra bir hücrenin hangi indexPath'de olduğunu takip etmeli ve değişiklik için animasyonu gerçekleştirmek için [self.collectionView moveItemAtIndexPath: toIndexPath:] kullanmalı mıyım yoksa daha iyi bir yöntem mi var?
Koleksiyonun alt sınıflamasına pek girmedim, bu yüzden herhangi bir yardım harika olacak ...
Teşekkürler Bill.
reloadData
aramayı bir animasyon bloğunda sarmayı denediniz mi?