Когда метод UICollectionView "itemsForBeginning Session" вызывается при перетаскивании, он вызывается для ячейки с неправильным указателем пути

Я создал круговой collectionView с использованием collectionViewLayout. Он содержит колоду карт, сложенных по экрану слева направо.

Так как мне нужно перетаскивать карточки по одной в другое представление над коллекцией, я реализовал сеанс ItemsForBeginning. Но когда я начинаю перетаскивать ячейку, она выбирает и перемещает неправильную ячейку (например, когда я начинаю перетаскивать ячейку с indexpath.row = 5, она перетаскивает ячейку с indexpath.row = 0).

Не знаю, имеет ли это какое-либо отношение к циклическому collectionView, но я думаю, что это проблема.

Другая проблема, связанная с этим collectionView, заключается в том, что его можно перетаскивать только в те ячейки, которые находятся в середине экрана (это также середина видимой кривой круга).

Кстати, мой класс viewController соответствует UICollectionViewDragDelegate, а делегат перетаскивания установлен на контроллере представления.

вот мой пункт для начала сессии:

func collectionView(_ collectionView: UICollectionView, itemsForBeginning session: UIDragSession, at indexPath: IndexPath) -> [UIDragItem] {

        let item = cardsName[indexPath.row]
        let itemProvider = NSItemProvider(object: item as NSString)
        let dragItem = UIDragItem(itemProvider: itemProvider)
        dragItem.localObject = item

        addPlaceHolder()

        return [dragItem]
    }

0 ответов

Другие вопросы по тегам