当滚动方向为水平时,从左到右填充 UICollectionView
Posted
技术标签:
【中文标题】当滚动方向为水平时,从左到右填充 UICollectionView【英文标题】:Populate UICollectionView from left to right when scrolling direction is horizontal 【发布时间】:2015-06-03 08:07:16 【问题描述】:当滚动方向为水平时,UICollectionView
中从上到下添加单元格
对于滚动方向 = 垂直,它们是从左到右添加的。
问题是,当滚动方向为水平时,是否有任何方法可以从左到右添加单元格?
【问题讨论】:
为什么不设置itemSize
的UICollectionViewFlowLayout
?
我不明白这与将单元格添加到集合视图的方式有什么关系
如果itemSize
的height
足够大,那么一列将只有一项
@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的主要内容,如果未能解决你的问题,请参考以下文章