如何以编程方式更改UICollectionViewCell大小(使用Xib)

时间:2016-12-07 22:16:00

标签: ios objective-c uicollectionview xib uicollectionviewcell

我创建了一个UICollectionViewCell的自定义子类以及一个Xib,它定义了单元格的大小(60分60乘60分)。

我还实施了以下内容:

- (CGSize)collectionView:(UICollectionView *)collectionView
                  layout:(UICollectionViewLayout *)collectionViewLayout
  sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
    CGSize size = [MainScreen screen];
    CGFloat width = size.width;
    CGFloat item = (width*60)/320;
    return CGSizeMake(item, item);
}

我遇到的问题是,每次运行程序时,UICollectionView控制器中的单元格总是显示为60x60单元格。此外,我已经在iPhone 6s上测试了375x667点(因此,进行数学计算,细胞应该是~70x70而不是60x60)。

如何以编程方式更改单元格的大小(或者更确切地说,覆盖预定义的Xib大小)?

1 个答案:

答案 0 :(得分:0)

这只是我经验不足的结果。 sizeForItemAtIndexPath:工作正常,但需要根据item参数重新定义单元格图像的实际帧。因此,如果我将CGSizeMake(100,100)硬编码为我的集合视图单元格的大小,我还需要将占用单元格的图像框架调整为100x100。