我有一个包含多个单元格的集合视图。用户可以滚动水平状态。但是,一旦用户放手,我希望它将最近的单元格居中。或者,如果没有,请为某些单元格进行某种形式的分页。我基本上制作了一个图标/个人资料图片选择器。
{{1}}
答案 0 :(得分:0)
假设您的集合视图的单元格等于集合视图边界的宽度,您可以将集合视图的isPagingEnabled
属性设置为true - 考虑UICollectionView
继承自UIScrollView
。
如果情况并非如此,那么您可以尝试以下方法:
首先,实现集合视图委托的scrollViewDidEndDragging(_:willDecelerate:)
方法。然后,在该方法的正文中,通过将每个中心与集合视图的中心进行比较,确定collectionView.visibleCells
中哪个单元格最明显。找到集合视图最可见的单元格后,通过调用scrollToItem(at:at:animated:)
滚动到该单元格。