在 UICollectionView 中的小单元格上使用左插图进行分页
Paging with left inset on small cells in UICollectionView
我有一个 UICollectionView,其中包含从一个日期到另一个日期的日期。我已经用 IGListKit 实现了 UICollectionView。我想在每个单元格上启用分页,以便每个单元格在滚动经过它时都会落在圆圈的中间。 (如下所示)我尝试了几种分页方式,但这些方式并没有直接位于圆圈的中心(如第二张图片所示)。发生的事情是,单元格被分页到左侧,我希望有一个 20 的插图,以便它适合圆圈
为了在视图首次加载时使当前日期显示在圆圈的左侧,我将语义设置为 Force Right-to-Left
并且我还设置了 edgeInsets:
left: screenWidth-62, right: 20)
单元格的宽度为 42,侧面的插图为 20,因此第一个单元格将位于带有这些插图的圆圈中。因此,当视图首次加载时,集合视图如下所示:
我基本上希望每个单元格在滚动经过时落在这个圆圈内(如果滚动停止)
这是我目前所拥有的:
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
if scrollView == self.collectionView {
var currentCellOffset = self.collectionView.contentOffset
currentCellOffset.x += (self.collectionView.frame.width / 2) + 20
if let indexPath = self.collectionView.indexPathForItem(at: currentCellOffset) {
self.collectionView.scrollToItem(at: indexPath, at: .centeredHorizontally, animated: true)
}
}
}
还有这个:
collectionView.decelerationRate = UIScrollView.DecelerationRate.fast
有人知道怎么解决吗?
谢谢
我创建了一个自定义集合视图布局,用于按单元而不是屏幕分页
我还在 README
中使用示例概述了一些自定义它的不同方法
看看here
如果您对此有任何疑问或需要更多帮助,请告诉我
我有一个 UICollectionView,其中包含从一个日期到另一个日期的日期。我已经用 IGListKit 实现了 UICollectionView。我想在每个单元格上启用分页,以便每个单元格在滚动经过它时都会落在圆圈的中间。 (如下所示)我尝试了几种分页方式,但这些方式并没有直接位于圆圈的中心(如第二张图片所示)。发生的事情是,单元格被分页到左侧,我希望有一个 20 的插图,以便它适合圆圈
为了在视图首次加载时使当前日期显示在圆圈的左侧,我将语义设置为 Force Right-to-Left
并且我还设置了 edgeInsets:
left: screenWidth-62, right: 20)
单元格的宽度为 42,侧面的插图为 20,因此第一个单元格将位于带有这些插图的圆圈中。因此,当视图首次加载时,集合视图如下所示:
我基本上希望每个单元格在滚动经过时落在这个圆圈内(如果滚动停止)
这是我目前所拥有的:
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
if scrollView == self.collectionView {
var currentCellOffset = self.collectionView.contentOffset
currentCellOffset.x += (self.collectionView.frame.width / 2) + 20
if let indexPath = self.collectionView.indexPathForItem(at: currentCellOffset) {
self.collectionView.scrollToItem(at: indexPath, at: .centeredHorizontally, animated: true)
}
}
}
还有这个:
collectionView.decelerationRate = UIScrollView.DecelerationRate.fast
有人知道怎么解决吗?
谢谢
我创建了一个自定义集合视图布局,用于按单元而不是屏幕分页
我还在 README
中使用示例概述了一些自定义它的不同方法看看here
如果您对此有任何疑问或需要更多帮助,请告诉我