我创建了一个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大小)?
答案 0 :(得分:0)
这只是我经验不足的结果。 sizeForItemAtIndexPath:
工作正常,但需要根据item
参数重新定义单元格图像的实际帧。因此,如果我将CGSizeMake(100,100)
硬编码为我的集合视图单元格的大小,我还需要将占用单元格的图像框架调整为100x100。