我有一个带有一行的 collectionView。在开始时出于性能目的,我只加载部分项目并滚动(让它成为)到第 30 个项目。然后我在开头插入其余项目(可以是一百个),集合视图切换到新的 6 个元素而不是停留上旧。我尝试在插入完成时使用 scrollToItemAtIndexPath ,但它首先显示新项目,然后切换到旧项目。
如何在幕后插入新项目?我的意思是如果没有更新并且所有项目总是存在,则强制 collectionView 以这种方式行事?
- (void)addDateStorage
{
NSDate* currentPastDate = [dateStorage objectAtIndex:0];
NSMutableArray* indexPathes = [NSMutableArray array];
for(int i=0; i<DAYS_IN_YEAR; i++)
{
[dateStorage insertObject:currentPastDate atIndex:0];
currentPastDate = [currentPastDate dateByAddingTimeInterval:SECONDS_IN_DAY*(-1)];
[indexPathes addObject:[NSIndexPath indexPathForRow:i inSection:0]];
}
[self.calendar insertItemsAtIndexPaths:indexPathes];
}
我尝试使用 performBatchUpdates: 和 reloadData,但结果相同。