Быстрое более чем одно поведение в одном и том же UICollectionView - PullRequest
0 голосов
/ 13 февраля 2019

Я добавляю пользовательский collectionViewLayout к CollectionView.У меня есть 6 ячеек, и я передаю следующий элемент со стилем анимации по умолчанию.Но когда я пропускаю последнюю ячейку, я хочу сделать анимацию как PageAnimation (custom).Я добавляю collectionViewLayout в viewDidLoad, но это влияет на все ячейки.

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

Как использовать два разных типа макета в одном CollectionView?

Заранее спасибо.

1 Ответ

0 голосов
/ 19 февраля 2019
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
                }
            }
        }
    }
...