首页 > 解决方案 > 确定集合视图中的滚动位置

问题描述

我有一个集合视图,可以水平滚动。它水平显示元素列表。 这是我的收藏视图

我想在我的滚动条当前所在的集合视图的中间添加一个元素。假设我将滚动条一直拖到右侧,那么添加的元素应该在最右边部分的中间。如何确定集合视图中的滚动条位置?

标签: iosswiftcollectionscollectionview

解决方案


UICollectionView在(或者更确切地说是它的基于类UIScrollView的属性)上有一个属性,contentOffset它指示当前移动(滚动)了多少内容。

然后您需要使用此值并将其与 half of 组合collectionView.frame.size.width以获得您需要放置新元素的位置。

现在一旦你有了它,你需要使用- (nullable UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath;和迭代所有元素来找到indexPath你需要用于新元素的合适的地方。

NSIndexPath在末尾插入新元素是必需的。一旦你有了它,你需要向你的dataSource和 reload添加新元素UICollectionView


推荐阅读