我想在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)
}
它不起作用我无法拖动我的imageview
我应该为tableview添加什么来执行我的手势?
当我向右或向左滑动右侧或左侧图像宽度时,我想要的最终结果
谢谢
答案 0 :(得分:0)
在tableviewcell类中尝试使用此实现委托 datanode:
image: bde2020/hadoop-datanode:2.0.0-hadoop2.7.4-java8
volumes:
- datanode:/hadoop/dfs/data
deploy:
mode: global
placement:
constraints: [ node.role == worker ]
volumes:
datanode:
。
我认为问题在这里。 UIGestureRecognizerDelegate
以这种方式设置委托。
pan.delegate = self as? UIGestureRecognizerDelegate