0
Я искал в Интернете пару дней, но не смог найти решение.UILabel фоновое изображение одинаковой ширины этикетки с UICollectionViewCell
Наконец выяснить, как это сделать:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
NSString *[email protected]"Cell";
SampleImageCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];
cell.sampleImageView.image=[UIImage imageNamed:[sampleImageList objectAtIndex:indexPath.row]];
cell.sampleTitleLabel.text=[sampleTitleArray objectAtIndex:indexPath.row];
UIImage *img = [UIImage imageNamed:@"sample.png"];
CGSize imgSize = cell.sampleTitleLabel.frame.size;
CGSize maximumLabelSize = CGSizeMake(319,9999);
CGSize expectedLabelSize = [cell.sampleTitleLabel.text sizeWithFont:cell.recipeTitleLabel.font
constrainedToSize:maximumLabelSize
lineBreakMode:cell.sampleTitleLabel.lineBreakMode];
UIGraphicsBeginImageContext(imgSize);
[img drawInRect:CGRectMake(0,0,expectedLabelSize.width,expectedLabelSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
cell.sampleTitleLabel.backgroundColor = [UIColor colorWithPatternImage:newImage];
return cell;
}
Я видел некоторые обновленную версию для IOS7, но еще не пробовал. Надеюсь, что этот код поможет кому-то!