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

Posted

技术标签:

【中文标题】当滚动方向为水平时,从左到右填充 UICollectionView【英文标题】:Populate UICollectionView from left to right when scrolling direction is horizontal 【发布时间】:2015-06-03 08:07:16 【问题描述】:

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

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

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

【问题讨论】:

为什么不设置itemSizeUICollectionViewFlowLayout 我不明白这与将单元格添加到集合视图的方式有什么关系 如果itemSizeheight 足够大,那么一列将只有一项 @alex_izh 是的。我稍后会发布答案 @gottlieb 发布一个答案 plz 【参考方案1】:

顺序由滚动方向自动生成,默认设置。

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

-(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

【讨论】:

【参考方案2】:

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

flowLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;

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

【讨论】:

这不是答案。他介绍了如何在保持水平滚动的同时从左到右填充单元格。

以上是关于当滚动方向为水平时,从左到右填充 UICollectionView的主要内容,如果未能解决你的问题,请参考以下文章