我想在UITableViewCell中添加一个UIGestureRecognizer,但它不起作用。
下面是我的代码:
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)
}
它不工作我不能拖动我的图像视图
我应该为我的表视图添加什么来执行我的手势?
当我向右或向左滑动按钮向右或向左滑动时,我想要的最终结果是图像的宽度变宽
谢谢
发布于 2018-06-10 06:04:03
在您的tableviewcell类中尝试实现这个委托UIGestureRecognizerDelegate
。
我认为问题出在这里。pan.delegate = self as? UIGestureRecognizerDelegate
这样设置delegate。
pan.delegate = cell
https://stackoverflow.com/questions/50778827
复制相似问题