UICollectionView没有完全填满页面,如果它们应该在一个页面上,如何阻止它将项目推送到下一页?

时间:2014-06-12 08:27:19

标签: ios objective-c cocoa-touch uicollectionview

我正在尝试水平放置一个UICollectionView页面,所以我需要它垂直布局。但是,我的集合视图具有不同的网格结构;顶行有一个项目,而底行(有两行)有三个项目。

这种结构似乎不适合垂直布局。它似乎首先排列顶部图像,然后是底部的第一个图像,然后返回到顶部,看到没有更多空间,并将下一个项目放在下一页。无论出于何种原因,它都不会填满页面的其余部分,即使剩下的是垂直房间(实际上还剩下两个空格),它只是跳到下一页。

显然这根本不理想。有没有办法通过集合视图来停止这种行为,实际上它是否填充了可用区域?

1 个答案:

答案 0 :(得分:1)

所以你的第一个项目和屏幕一样宽,接下来的三个屏幕每三分之一?

好像第三项宽度不是问题,因为你有足够的空间容纳两个以上的项目,虽然高度怎么样?如果需要,请确保将以下方法设置为0间距(假设您的项目之间没有间距):

-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
    return UIEdgeInsetsZero;
}

-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
{
    return 0.0f;
}

-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section
{
    return 0.0f;
}