Swift: Жест в ячейке TableviewCell не работает - PullRequest
0 голосов
/ 10 июня 2018

Я хочу добавить UIGestureRecognizer в UITableViewCell, но он не работает.

Вот мой код:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    //On lien le TableViewCell
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? FeedCell
    cell?.selectionStyle = .none

    let pan = UIPanGestureRecognizer(target: self, action: #selector(cell?.handlePan(recognizer:)))
    pan.delegate = self as? UIGestureRecognizerDelegate
    cell?.dragButton.addGestureRecognizer(pan)

    cell?.view(post: posts[indexPath.row], user: users[indexPath.row]); //On passe l'objet a l'index i a la fonction view du TableViewCell pour l'affichage

    return cell!;
}

и в tableviewcell

@objc func handlePan(recognizer: UIPanGestureRecognizer) {
    let translation = recognizer.translation(in: dragButton)

    recognizer.view!.center = CGPoint(x: recognizer.view!.center.x + translation.x, y: recognizer.view!.center.y + translation.y)

    recognizer.setTranslation(CGPoint.zero, in: self.containerDragView)
}

Этоне работает Я не могу перетащить свой просмотр изображения

Что я должен добавить для своего просмотра таблицы, чтобы выполнить мой жест?

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

спасибо

Результат

1 Ответ

0 голосов
/ 10 июня 2018

Попробуйте этот делегат реализации UIGestureRecognizerDelegate в вашем классе tableviewcell.

Я думаю, что проблема здесь.pan.delegate = self as? UIGestureRecognizerDelegate

Установить делегата таким образом.

pan.delegate = cell
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...