Ios UICollectionViewCell具有灵活的宽度
我有一个基本的集合视图,具有垂直滚动、分区和每个分区中可变数量的单元格。当我需要开始下一行单元格时,我需要调整每个单元格的宽度,以填充最多4个单元格的视图可用宽度 如果剖面有1、2、3或4个单元,则其宽度应分别为视图宽度的1/1、1/2、1/3或1/4。超过4个单元格的部分应在一行中拉伸4个单元格,并在另一行上继续 我是否需要为此为UICollectionViewFlowLayout创建子类,或者可以在UICollectionViewController类中处理它,以及如何处理Ios UICollectionViewCell具有灵活的宽度,ios,uicollectionview,Ios,Uicollectionview,我有一个基本的集合视图,具有垂直滚动、分区和每个分区中可变数量的单元格。当我需要开始下一行单元格时,我需要调整每个单元格的宽度,以填充最多4个单元格的视图可用宽度 如果剖面有1、2、3或4个单元,则其宽度应分别为视图宽度的1/1、1/2、1/3或1/4。超过4个单元格的部分应在一行中拉伸4个单元格,并在另一行上继续 我是否需要为此为UICollectionViewFlowLayout创建子类,或者可以在UICollectionViewController类中处理它,以及如何处理 您应该使用以下两
您应该使用以下两种方法来更改一行中的列
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
return UIEdgeInsetsMake(5,5,0,5);
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
return CGSizeMake(75, 75);
}
您必须使用UICollection视图委托方法为CollectionCell提供自定义设计
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section {
return 2.0;
}
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section {
return 2.0;
}
- (UIEdgeInsets)collectionView:
(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
return UIEdgeInsetsMake(0,5,0,5);
}
以及可以在框架文件检查器中设置的大小
是的,这给了我想要的。谢谢