如何创建“粘性”'水平滚动效果与集合视图Swift 3

时间:2017-09-17 19:36:18

标签: ios swift uicollectionview

我有一个包含多个单元格的集合视图。用户可以滚动水平状态。但是,一旦用户放手,我希望它将最近的单元格居中。或者,如果没有,请为某些单元格进行某种形式的分页。我基本上制作了一个图标/个人资料图片选择器。

{{1}}

1 个答案:

答案 0 :(得分:0)

假设您的集合视图的单元格等于集合视图边界的宽度,您可以将集合视图的isPagingEnabled属性设置为true - 考虑UICollectionView继承自UIScrollView

如果情况并非如此,那么您可以尝试以下方法:

首先,实现集合视图委托的scrollViewDidEndDragging(_:willDecelerate:)方法。然后,在该方法的正文中,通过将每个中心与集合视图的中心进行比较,确定collectionView.visibleCells中哪个单元格最明显。找到集合视图最可见的单元格后,通过调用scrollToItem(at:at:animated:)滚动到该单元格。