我正在使用包含少量UILabel的单元格的UICollectionView。 UILabels中的文本长度可能不同,可能有很多行,因此我需要根据内容调整单元格的高度。我的单元格布局是在Storyboard中完成的。到目前为止,我没有找到一种方法来做到这一点,没有一些繁琐和困难的程序布局。有更简单的方法吗? 我知道你可以使用UICollectionViewFlowLayout的委托并实现这个方法:
- (CGSize)collectionView:(UICollectionView *)collectionView
layout:(UICollectionViewLayout*)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
//how do I get size of my cell?
return size;
}
在此方法中,您无法获取单元格的实例,因此很难返回大小。有什么想法吗?
答案 0 :(得分:1)
在这种情况下,您必须使用一些字体指标来衡量标签在适当宽度的高度。您需要弄清楚相关indexPath的文本内容,然后使用NSString方法
– boundingRectWithSize:options:attributes:
找出你的标签最终铺设时的尺寸。您可以将CGSizeMake(250, CGFLOAT_MAX)
之类的内容传递给第一个参数来约束宽度。