gpt4 book ai didi

ios - CollectionView 取笑上一个和下一个

转载 作者:可可西里 更新时间:2023-11-01 04:57:52 25 4
gpt4 key购买 nike

我想我的问题有点简单,但不知道如何实现。

我想要一个水平的 UICollectionView,我可以在其中看到我的上一个和下一个单元格。
我已经设置了一个水平的、启用分页的 collectionView 及其流布局。
我“只是”想念这件事。

这是我想要的样机。

enter image description here

我的问题是:我无法获得这个位置:当前单元格居中,上一个和下一个出现。我尝试使用布局的 - minimumInteritemSpacing- sectionInset 属性但没有成功。

最佳答案

这是以下布局的代码:

import UIKit

/**
A UICollectionViewFlowLayout subclass that snaps to the nearest cell as soon as the user stops dragging.
Respects the scrolling velocity.
Only _Horizontal_ direction is supported.
*/
class SnapCenterLayout: UICollectionViewFlowLayout {
override func targetContentOffset(forProposedContentOffset proposedContentOffset: CGPoint, withScrollingVelocity velocity: CGPoint) -> CGPoint {
guard let collectionView = collectionView else { return super.targetContentOffset(forProposedContentOffset: proposedContentOffset, withScrollingVelocity: velocity) }
let parent = super.targetContentOffset(forProposedContentOffset: proposedContentOffset, withScrollingVelocity: velocity)

let itemSpace = itemSize.width + minimumInteritemSpacing
var currentItemIdx = round(collectionView.contentOffset.x / itemSpace)

// Skip to the next cell, if there is residual scrolling velocity left.
// This helps to prevent glitches
let vX = velocity.x
if vX > 0 {
currentItemIdx += 1
} else if vX < 0 {
currentItemIdx -= 1
}

let nearestPageOffset = currentItemIdx * itemSpace
return CGPoint(x: nearestPageOffset,
y: parent.y)
}
}

关于ios - CollectionView 取笑上一个和下一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23048217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com