2014-02-13 91 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)之類的內容傳遞給第一個參數以約束寬度。