UICollectionView与单元格包装内容

时间:2014-02-13 12:52:52

标签: ios uicollectionview uicollectionviewcell

我正在使用包含少量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;

}

在此方法中,您无法获取单元格的实例,因此很难返回大小。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

在这种情况下,您必须使用一些字体指标来衡量标签在适当宽度的高度。您需要弄清楚相关indexPath的文本内容,然后使用NSString方法

– boundingRectWithSize:options:attributes:

找出你的标签最终铺设时的尺寸。您可以将CGSizeMake(250, CGFLOAT_MAX)之类的内容传递给第一个参数来约束宽度。