我正在使用CHTCollectionViewWaterfallLayout作为我的UICollectionView的布局,我试图删除一个单元格。提供给我的单元格的所有数据都是从本地数据库加载的。要删除单元格,我将其从数据库中删除。接下来,我使用collectionView中的reloadData
函数重新加载所有单元格。这似乎工作正常,除了一个小bug。这些图片中显示了错误(我删除了LifeStyleCard2):
删除前
删除后
当我删除阴影时,问题变得不那么极端了:
然而,问题仍然是显而易见的。当我离开页面并导航回来时,问题就消失了,一切似乎都很好。这些是我对布局的设置:
CHTCollectionViewWaterfallLayout *layout =
(CHTCollectionViewWaterfallLayout *)self.collectionView.collectionViewLayout;
layout.sectionInset = UIEdgeInsetsMake(10, 10, 10, 10);
layout.headerHeight = 15;
layout.footerHeight = 10;
layout.minimumColumnSpacing = 20;
layout.minimumInteritemSpacing = 30;
self.collectionView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
NSString *deviceType = [UIDevice currentDevice].model;
if([deviceType rangeOfString:@"iPad"].location != NSNotFound){
layout.columnCount = 2;
}else{
layout.columnCount = 1;
}
[self.collectionView setCollectionViewLayout:layout];
我完全清楚有一种方法可以从集合视图中删除一个单元格,但是这会更加混乱,因为它会将所有单元格的大小调整为默认大小。我几个小时以来一直在努力解决这个问题,我真的希望有人可以帮助我。
提前致谢!
答案 0 :(得分:0)
答案显然是使用从collectionView中提供的删除方法删除单元格,然后重新加载数据。