Центрирование UICollectionViewCell с UIEdgeInsets при смахивании - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь создать компонент свайпа, который мне нужно центрировать в соответствии с изображением, поэтому я устанавливаю layout.sectionInset = UIEdgeInsets (top: 0, left: 32, bottom: 0, right: 32)

Когда я использую функцию автопрокрутки collection.scrollToItem (at: indexPath, at: .centeredHorizontally, animated: true), она работает отлично.Но когда я делаю ручной Swipe, я не могу централизоваться.Я не мог изменить pointee, поэтому он центрировался на экране.

Работа с scrollToItem .centeredHorizontally

Auto Scroll

 let cellWithIncludingSpacing = (collection.layout.itemSize.width + collection.layout.minimumLineSpacing)

        var offset = targetContentOffset.pointee
        let index  = (offset.x + scrollView.contentInset.left) / cellWithIncludingSpacing
        let roundedIndex = round(index)

        offset = CGPoint(x: roundedIndex * cellWithIncludingSpacing - scrollView.contentInset.left,
                         y: -scrollView.contentInset.top)

        targetContentOffset.pointee = offset

У меня сейчас естьэтот результат:

Imgur

Проект репо Link

...