当滚动方向为水平时,从左到右填充UICollectionView

时间:2015-06-03 08:07:16

标签: ios objective-c uicollectionview uicollectionviewcell

当滚动方向为水平时,单元格从上到下添加到UICollectionView enter image description here

对于滚动方向=垂直,它们是从左到右添加的。 enter image description here

问题是,当滚动方向是水平时,是否有任何方法可以从左到右添加单元格?

3 个答案:

答案 0 :(得分:1)

订单由滚动方向自动生成,默认设置。 figure

您可以通过使用layoutAttributesForItemAtIndexPath方法为每个单独的单元格设置框架,为UICollectionView添加自定义布局。

-(UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath
{
    UICollectionViewLayoutAttributes* attr = [UICollectionViewLayoutAttributes layoutAttributesForCellWithIndexPath:indexPath];

    CGRect cellFrame = CGRectMake(/* calculate your origin x */,
                                  /* calculate your origin y */,
                                  /* calculate your width */,
                                  /* calculate your height */);
    attr.frame = cellFrame;

    return attr;
}

可以找到更多详细信息here

答案 1 :(得分:-1)

您需要使用UICollectionViewFlowLayout并将scrollDirection属性设置为

flowLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;

默认设置为垂直(从上到下)

答案 2 :(得分:-1)

每个集合视图都有layout属性,允许您更改滚动方向。您可以这样做:

collectionView.collectionViewLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;