0

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

使用以下代码:

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

我有这个显示:

在此处输入图像描述

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

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

但结果如下:

在此处输入图像描述

返回具有较大高度的尺寸会导致单元格水平扩展(我不想要),同时仍然(垂直)提供空间而不使用它。我错过了一些东西。如果可以请解释一下。

4

1 回答 1

0

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

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

于 2013-08-16T21:52:21.647 回答