Заполните пустое место в ячейке CollectionView - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть фраза с пустым пространством, похожая на эту, которая загружена с сервера: «Привет, я ____, Как дела ___», и у меня есть collectionView с ячейкой, которая также имеет несколько результатов, которые загружаются с сервера, как заполнить пустую игру я хочу нажать и перетащить одну из нескольких ячеек collectionView в каждое из пустых мест и поместить значения в пробелы.

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

enter image description here

@objc func handleDrag(_ recognizer: UIPanGestureRecognizer) {
  switch recognizer.state {
  case .began:
    if let view = recognizer.view {
      draggedView = view
      originalPosition = view.frame.origin
      viewSize = view.frame.size
      originalZIndex = view.layer.zPosition
      view.layer.zPosition = 1
        cellTextLabel = recognizer.view?.viewWithTag(textLabelTag) as? UILabel
    }

  case .changed:
    if let view = recognizer.view {
      let currentPosition = recognizer.location(in: view.superview!)
      let newPosition = CGPoint(x: currentPosition.x - (viewSize!.width / 2.0), y: currentPosition.y - (viewSize!.height / 2.0))
      view.frame.origin = newPosition
    } else {
        cellTextLabel = recognizer.view?.viewWithTag(textLabelTag) as? UILabel
      self.finishDrag()
    }
  case .ended:
    finishDrag()
    cellTextLabel = recognizer.view?.viewWithTag(textLabelTag) as? UILabel
    print(cellTextLabel?.text)

  default:
    print("drag default \(recognizer.state.rawValue)")
  }
}

func finishDrag() {
  self.draggedView?.frame.origin = originalPosition!
  self.draggedView?.layer.zPosition = originalZIndex
  originalZIndex = 0
  originalPosition = nil
  draggedView = nil
}

в cellForItemAtIndexPath Я помещаю тег в textLabel, чтобы узнать, какое значение пользователь нажимает и перетаскивает, затем я добавляю в ячейку жест для вызова функции handleDrag

cell.addGestureRecognizer (UIPanGestureRecognizer) (target: self, action: #selector (handleDrag (_:))))

Любая помощь?

...