How to do Drag and Drop in UICollectionView that has UITableView inner in cell like Trello app

У меня есть UICollectionView, который прокручивается по горизонтали. Каждая ячейка представления коллекции имеет табличное представление, которое прокручивается вертикально. Я хочу реализовать перетаскивание ячейки табличного представления в самом табличном представлении, а также между различными табличными представлениями в каждой ячейке табличного представления. Need some tutorial or help for that.

1 ответ

Ладно, для этого придётся пройтись по полной схеме, так что это примерно то, что вам нужно сделать:

Длительным нажатием жеста или чем-то в ячейке дважды коснитесь того, что вам нравится, что делает метод делегата контроллеру, который передает ячейку в родительское представление коллекции, затем контроллер, чтобы у контроллера было представление коллекции и ячейка.

Получив метод делегата, вы хотите сделать снимок ячейки:

UIView.snapshot..... 

а затем удалите ячейку из таблицы, создавая новый фиктивный UIView ячейки под пальцем пользователя.

Теперь, когда вы освобождаете ячейку от жеста, другой метод делегата, отбрасывает ячейку, в положение: CGPoint

Используя эту позицию, найдите ячейку CollectionView, в которую вы ее поместили

collectionView.itemAtPoint (or something close to that)

Теперь преобразуйте CGpoint в коллекцию Rect

collectionView.convertPoint

найдите ячейку tableView, ближайшую к точке, в которую вы уронили ячейку, и заново добавьте ячейку в это представление таблицы.

Вам нужно будет создать небольшую модель MovingModel, которая содержит модель ячейки, когда вы перетаскиваете ее на новое табличное представление.

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