如何使用UICollectionViewDelegateFlowLayout?

时间:2013-08-16 11:51:54

标签: uicollectionview

这是我第一次使用UICollectionView并且非常有趣,但我遇到了以下问题。谁能帮我澄清一下发生了什么?

使用以下代码:

- (CGSize)collectionView:(UICollectionView *)collectionView
                  layout:(UICollectionViewLayout*)collectionViewLayout
  sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
    return CGSizeMake(280.0,36.0);
}

我有这个显示:

enter image description here

显然,我需要一个更高的空间来显示单元格“Nous sommes”,因为它有一条现在不可见的第二行。 由于这是第五行,我使用以下代码(期望解决问题):

- (CGSize)collectionView:(UICollectionView *)collectionView
                  layout:(UICollectionViewLayout*)collectionViewLayout
  sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
    return CGSizeMake(280.0,indexPath.row!=4?36.0:72.0);
}

但结果如下:

enter image description here

返回较大高度的大小会导致单元格水平扩展(我不想要),同时仍然在不使用它的情况下提供空间(垂直)。 我错过了什么。请解释一下你是否可以。

1 个答案:

答案 0 :(得分:0)

我假设蓝色矩形是单元格的子视图(因为它比第一个示例中的单元格宽度小280)。问题可能是你需要设置你的struts&弹簧(或约束,如果您使用自动布局),以便您的子视图调整大小调整大小时所需的方式。看看你的布局,我想你想指定固定宽度和灵活高度(或相当于自动布局)。

如果您仍然卡住,请发布有关您的支柱的信息。弹簧(或自动布局约束)。