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

How to change UICollectionViewCell size programmatically (with Xib)

我创建了 UICollectionViewCell 的自定义子类以及定义单元格大小的 Xib(60 pts x 60 pts)。

我还实现了以下:

- (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 大小)?

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