CHTCollectionViewWaterfallLayout 删除单元格无法正常工作
CHTCollectionViewWaterfallLayout deleting cell not working properly
我正在使用 CHTCollectionViewWaterfallLayout 作为我的 UICollectionView 的布局,我正在尝试使删除单元格成为可能。提供给我的单元格的所有数据都是从本地数据库加载的。要删除单元格,我将其从数据库中删除。接下来,我使用 collectionView 中的 reloadData
函数重新加载所有单元格。除了一个小错误外,这似乎工作正常。这些错误显示在这些图片中(我删除了 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];
我完全知道有一种方法可以从 collectionview 中删除一个单元格,但这会更加混乱,因为它将所有单元格的大小调整为默认大小。我已经为这个问题苦苦挣扎了几个小时,我真的希望有人能帮助我。
提前致谢!
答案显然是结合使用提供的删除方法从 collectionView 中删除单元格,然后重新加载数据。
我正在使用 CHTCollectionViewWaterfallLayout 作为我的 UICollectionView 的布局,我正在尝试使删除单元格成为可能。提供给我的单元格的所有数据都是从本地数据库加载的。要删除单元格,我将其从数据库中删除。接下来,我使用 collectionView 中的 reloadData
函数重新加载所有单元格。除了一个小错误外,这似乎工作正常。这些错误显示在这些图片中(我删除了 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];
我完全知道有一种方法可以从 collectionview 中删除一个单元格,但这会更加混乱,因为它将所有单元格的大小调整为默认大小。我已经为这个问题苦苦挣扎了几个小时,我真的希望有人能帮助我。
提前致谢!
答案显然是结合使用提供的删除方法从 collectionView 中删除单元格,然后重新加载数据。