3

所以我有一个包含 3 个单元格的集合视图控制器,因为每个单元格都有不同的布局。我的图像显示了这一点:

在此处输入图像描述

它们都有不同的单元格标识符,因此在我的 cellForItemAtIndexPath 函数中,我可以创建特定的单元格,例如:

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
UICollectionViewCell *cell;


    if(indexPath.row == 0)
    {
        static NSString *identifier = @"Cell1";
        cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier     forIndexPath:indexPath];
        [cell setNeedsLayout];
    }
    else if(indexPath.row == 1)
    {
        static NSString *identifier = @"Cell2";
        cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
        [cell setNeedsLayout];
    }
    else
    {
        static NSString *identifier = @"Cell3";
        cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
        [cell setNeedsLayout];
    }

    return cell;
}

但是当我模拟它时,所有单元格的大小都相同:

在此处输入图像描述

有没有办法强制单元格达到我定义的大小,或者有更合适的方法吗?

4

1 回答 1

13

试试这个: UICollectionView 中不同单元格大小的自定义布局

或使用此方法:

-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath;
于 2013-10-22T14:08:13.550 回答