我已经检查了很多这方面的链接,但我无法得出结论。我想要做的是为UICollectionView的单元格提供动态大小。我有一系列不同大小的图像,我想显示它们。我无法弄清楚为什么SO上的其他答案对于这个问题是如此复杂,我理解的是,我只需要在sizeForItemAtIndexPath方法中计算图像的大小,如上所述here但是我收到错误, *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString size]: unrecognized selector sent to instance 0x10fc860a0
我对sizeForItemAtIndexPath的实现是as,
- (CGSize)collectionView:(UICollectionView *)collectionView
layout:(UICollectionViewLayout *)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
UIImage *image = [arrRecipeImages objectAtIndex:indexPath.row];
CGSize size = CGSizeMake(image.size.width, image.size.height);
return size;
}
一切看起来都很好,有人可以指出我出错的地方,提前谢谢。
答案 0 :(得分:0)
仔细查看错误:[__NSCFConstantString size]
。看起来你试图在字符串对象上调用size
方法。
您确定arrRecipeImages
是由图片组成的吗?您明确地将数组从数组中转换为UIImage
对象,但它可以是任何内容。