首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Swift:单元格TableviewCell中的手势不起作用

Swift:单元格TableviewCell中的手势不起作用
EN

Stack Overflow用户
提问于 2018-06-10 05:49:09
回答 1查看 240关注 0票数 0

我想在UITableViewCell中添加一个UIGestureRecognizer,但它不起作用。

下面是我的代码:

代码语言:javascript
复制
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中

代码语言:javascript
复制
@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)
}

它不工作我不能拖动我的图像视图

我应该为我的表视图添加什么来执行我的手势?

当我向右或向左滑动按钮向右或向左滑动时,我想要的最终结果是图像的宽度变宽

谢谢

Result

EN

回答 1

Stack Overflow用户

发布于 2018-06-10 06:04:03

在您的tableviewcell类中尝试实现这个委托UIGestureRecognizerDelegate

我认为问题出在这里。pan.delegate = self as? UIGestureRecognizerDelegate

这样设置delegate。

代码语言:javascript
复制
pan.delegate = cell
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50778827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档