iOS UICollectionView cell的动态大小调整

一、前言

UICollectionView应该是我们使用的列表类控件中,使用频率仅次于UITableView的控件了,在很多场景下,需要动态的计算并修改UICollectionViewCell的宽度、高度,而代理方法中有没有提供这种方法。

二、代码

实现该方法,并在方法中计算你所需要的宽度、高度,并返回。

- (CGSize)collectionView: (UICollectionView *)collectionView layout: (UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath: (NSIndexPath *)indexPath {
	NSDictionary *dict = @{NSFontAttributeName: [UIFont systemFontOfSize:18]};
	NSString *titleStr = @"测试文本";
	CGSize detailSize = [titleStr sizeWithAttributes:dict];
	CGSize size = CGSizeMake(detailSize.width + 35, 50);//每个cell的宽度自适应
	return size;
}

挺好用的一个方法,但是有一个疑问,就是官方的提供的代理方法中并没有这个方法,暂时不太清楚,后面再更新吧。

你可能感兴趣的:(ios开发,ios,xcode,macos)