我有一個UICollectionView
,它將具有帶有不同大小標籤的單元格。我正在嘗試根據標籤的大小來調整單元格大小。然而sizeForItemAtIndexPath
我在那裏創建單元格似乎在cellForItemAtIndexPath
之前被調用,我在其中設置了標籤..任何想法我可以在這裏做什麼?根據標籤大小調整UICollectionViewCell大小
- (void)getLabelSize:(UILabel *)label {
float widthIs = [label.text boundingRectWithSize:label.frame.size options:NSStringDrawingUsesLineFragmentOrigin attributes:@{ NSFontAttributeName:label.font } context:nil].size.width;
width = widthIs;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
// Configure the cell
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];
UILabel *label = (UILabel *)[cell viewWithTag:1000];
label.text = @"This is pretty long";
[label sizeToFit];
[self getLabelSize:label];
NSLog([NSString stringWithFormat:@"%f", width]);
cell.backgroundColor = [UIColor whiteColor];
return cell;
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
return CGSizeMake(width, 50);
}
這隻有在有一個標籤時纔有效。會有很多。 – 2015-02-09 12:20:01
您必須爲這些添加陣列並在重新加載之前對其進行管理 – 2015-02-09 12:20:57