2014-02-13 89 views
2

我正在使用包含几个UILabels的单元格的UICollectionView。 UILabels中的文本长度可能不同,可能会有很多行,所以我需要根据内容调整单元格的高度。我的单元格布局是在Storyboard中完成的。到目前为止,我还没有找到一种方法来做到这一点,没有一些繁琐和困难的程序布局。有没有更简单的方法来做到这一点? 我知道你可以使用UICollectionViewFlowLayout委托和实施此方法:UICollectionView与包装内容的单元格

- (CGSize)collectionView:(UICollectionView *)collectionView 
       layout:(UICollectionViewLayout*)collectionViewLayout 
    sizeForItemAtIndexPath:(NSIndexPath *)indexPath { 

//how do I get size of my cell? 
    return size; 

}

在这种方法中,你不能得到电池的一个实例,因此使得它难以恢复的大小。有任何想法吗?

回答

1

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

– boundingRectWithSize:options:attributes:

找出大小的标签会当你最终奠定了出来。您可以将诸如CGSizeMake(250, CGFLOAT_MAX)之类的内容传递给第一个参数以约束宽度。