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, которая содержит модель ячейки, когда вы перетаскиваете ее на новое табличное представление.