Как правильно добавить интервал между ячейками представления коллекции? - PullRequest
0 голосов
/ 10 марта 2019

В настоящее время я пытаюсь установить интервал между ячейками представления моей коллекции.Проблема заключается в том, что каждый раз, когда я прокручиваю по горизонтали, ячейка не возвращается в исходное положение.Я использую эту библиотеку для анимации ячеек вида коллекции: https://github.com/KelvinJin/AnimatedCollectionViewLayout.

Пожалуйста, посмотрите на изображение ниже!

Вот мой код:

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    // Turn on the paging mode for auto snaping support.
    collectionView?.isPagingEnabled = true

    if let layout = collectionView?.collectionViewLayout as? AnimatedCollectionViewLayout {
        layout.scrollDirection = direction
        layout.animator = animator?.0
    }

    dismissGesture.direction = direction == .horizontal ? .down : .left
}

extension ImageCollectionViewController: UICollectionViewDelegateFlowLayout {
override func numberOfSections(in collectionView: UICollectionView) -> Int {
    return 1
}

override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return Int(Int16.max)
}

override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let c = collectionView.dequeueReusableCell(withReuseIdentifier: cellIdentifier, for: indexPath)

    if let cell = c as? SimpleCollectionViewCell {
        let i = indexPath.row % vcs.count
        let v = vcs[i]
        cell.bind(color: v.0, imageName: v.1)
        cell.clipsToBounds = animator?.1 ?? true
    }

    return c
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    guard let animator = animator else { return view.bounds.size }
    return CGSize(width: view.bounds.width / CGFloat(animator.2), height: view.bounds.height / CGFloat(animator.3))
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
    return .zero
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
    return 10
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
    return 0
}

}

Также вот изображения, показывающие, что происходит:

enter image description here

...