【发布时间】:2017-11-26 10:44:35
【问题描述】:
我有一个 iPad 应用程序,它使用 UICollectionView 来显示单元格网格。单元格的宽度完全相同,但高度不同(因为有些单元格的文本比其他单元格多)。
我遇到的唯一问题是较短的单元格最终会在上方/下方有额外的间距......这会创建一个看起来很糟糕的集合视图。它增加了额外的空间,不需要额外的空间。我尝试将边缘插图设置为 0,将最小行距设置为 0,但仍然无法正常工作。
这是我的收藏视图的样子:
这是我想要的样子:
这是我的流程布局代码:
[self.infoList registerClass:[InfoCell class] forCellWithReuseIdentifier:@"InfoCell"];
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
[layout setItemSize:CGSizeMake(320, 160)];
[layout setScrollDirection:UICollectionViewScrollDirectionVertical];
[layout setMinimumInteritemSpacing:0];
[layout setMinimumLineSpacing:0];
[self.infoList setCollectionViewLayout:layout];
我也将边缘插图设置为 0:
-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
return UIEdgeInsetsZero;
}
如何删除多余的不必要的空间?我发现可行的唯一方法是使所有单元格的高度完全相同,但这不是我想要的。有些单元格包含文本而不是其他单元格,所以我必须给它们额外的高度。
【问题讨论】:
标签: ios objective-c uicollectionview uicollectionviewcell uicollectionviewlayout