【问题标题】:Swift more than one behaviour in the same UICollectionView在同一个 UICollectionView 中处理多个行为
【发布时间】:2019-02-13 14:41:22
【问题描述】:

我将自定义collectionViewLayout 添加到CollectionView。我有 6 个单元格,我通过默认动画样式传递下一个项目。但是当我通过最后一个单元格时,我想将动画制作为 PageAnimation(custom)。我在viewDidLoad 中添加了collectionViewLayout,但它会影响所有单元格。

let layout = AnimatedCollectionViewLayout()
layout.animator = PageAttributesAnimator()
layout.scrollDirection = .horizontal
collectionView.collectionViewLayout = layout

如何在一个CollectionView 中使用两种不同的布局类型?

提前致谢。

【问题讨论】:

    标签: ios swift uicollectionview uicollectionviewlayout


    【解决方案1】:
    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
            for cell: UICollectionViewCell in clcView.visibleCells {
                let indexPath: IndexPath? = clcView.indexPath(for: cell)
                if let indexPath = indexPath {
                    print("\(indexPath)")
                    if indexPath.row >= 2 {
                        let layout = AnimatedCollectionViewLayout()
                        layout.animator = PageAttributesAnimator()
                        layout.scrollDirection = .horizontal
                        clcView.collectionViewLayout = layout
                    }
                    else {
                        let layout = AnimatedCollectionViewLayout()
                        layout.animator = RotateInOutAttributesAnimator()
                        layout.scrollDirection = .horizontal
                        clcView.collectionViewLayout = layout
                    }
                }
            }
        }
    

    【讨论】:

    • 部分工作。有时会影响所有 collectionview,有时不会。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多