用 UICollectionView 和 UICollectionViewCells 创建刷卡栈?

Posted

技术标签:

【中文标题】用 UICollectionView 和 UICollectionViewCells 创建刷卡栈?【英文标题】:Creating a swiping card stack with UICollectionView and UICollectionViewCells? 【发布时间】:2016-06-28 19:30:55 【问题描述】:

到目前为止,我制作了可以向左或向右水平滚动的集合视图。我将 UICollectionViewCells 添加到一个 UICollectionView 中。我遇到的问题是尝试找到正确的设置以使卡片堆叠在第一张卡片的顶部,如下图所示。

这是我的 collectionView 的设置以及它如何显示其单元格。

lazy var collectionView: UICollectionView = 
   let layout = UICollectionViewFlowLayout()
    layout.scrollDirection = .Horizontal
    layout.minimumInteritemSpacing = 0
    layout.minimumLineSpacing = 78
    let cv = UICollectionView(frame: .zero, collectionViewLayout: layout)
    cv.backgroundColor = UIColor.clearColor()
    cv.showsHorizontalScrollIndicator = false
    cv.translatesAutoresizingMaskIntoConstraints = false
    return cv

()

【问题讨论】:

github.com/satishVekariya/PushpaCollectionViewLayout 【参考方案1】:

您将不得不继承UICollectionViewLayout,为每个单元格设置UICollectionViewLayoutAttributes,并确保将zIndex 设置为项目的indexPath.row,以便重叠。你可以看看我在GitHub 上的示例项目,它实现了一些非常相似的东西。

UICollectionViewLayout 中存在一些与单元格重叠时动画插入新单元格有关的错误(这就是我首先制作示例项目的原因)。

【讨论】:

太好了,马克!这就是我一直在寻找的东西。您是否知道将每张卡片设置为类似于 iPhone 的多任务处理的动画的具体细节? 您的意思是在用户滚动时对其进行动画处理吗?可以根据collection view的内容偏移量和item的位置,修改attributes的transform3D属性来达到效果。

以上是关于用 UICollectionView 和 UICollectionViewCells 创建刷卡栈?的主要内容,如果未能解决你的问题,请参考以下文章

UiCollectionView 间距问题 - 快速

UICollectionView

从 UICollectionViewCell 调用函数以在 UICollectionView 中使用

如何在 UICollectionView 中居中行?

UICollectionView 初始化问题

UICollectionView 中的多个部分