9

我有一个使用标准 FlowLayout 类的 CollectionView,每个部分都有水平滚动和页眉和页脚。

现在页脚和页眉视图之间(即部分之间)的像素为零。我想在它们之间添加一点间距,但不要在第一部分上方或在最后一部分之后。所以我不能只在页眉和页脚视图本身中添加该空间。

我本来期望像“interSectionSpacing”这样的东西,但显然没有这样的设置。有任何想法吗?

4

3 回答 3

11

所以事实证明没有设置。这就是我最终的结果:

我将标题视图的内容设置为与标题视图本身的底部对齐,因此它似乎具有相同的可见高度,即使我使标题视图高于其内容(自动布局使这非常容易)。

然后我根据 UICollectionViewFlowLayout 的这个委托方法中的节索引设置标题的高度:


#define kHeaderHeight 42
#define kInterSectionMargin 8

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section
{
    if (section == 0) {
        return CGSizeMake(0, kHeaderHeight);
    }
    return CGSizeMake(0, kHeaderHeight + kInterSectionMargin);
}

现在各部分之间有一点空间,但在第一部分之前没有。

于 2012-10-10T16:02:52.980 回答
1

你是对的,没有“interSectionSpacing”这样的东西,但有一些接近的东西。

试试sectionInset你的UICollectionViewFlowLayout.

UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setSectionInset:UIEdgeInsetsMake(top, left, bottom, right)];
于 2016-02-18T23:06:35.417 回答
0

您可以在 Nib 文件中设置页眉和页脚之间的间距。转到“集合视图”的“大小检查器”并将标题大小高度设置为所需值。

于 2012-10-05T16:46:44.303 回答