当滚动方向为水平时,从左到右填充 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的主要内容,如果未能解决你的问题,请参考以下文章

在iOS中从左到右滚动时如何在Web视图中获取滚动方向?

jqgrid - 水平滚动条 - 位置 - 分页后 - 从左到右

如何在滚动时从左到右移动 div?

从左到右填充按钮背景

CSS 列,从上到下然后从左到右

Android水平RecyclerView滚动方向