swift cell自定义左滑手势处理
public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
initUI()
makerLayout()
/// 直接调用手势方法-手势添加在了contentView上
makerPang()
}
private func makerPang(){
let p = UIPanGestureRecognizer(target: self,action: #selector(pangAction(_:)))
p.delegate = self
contentView.addGestureRecognizer(p)
}
@objc func pangAction(_ guest: UIPanGestureRecognizer){
let state = guest.state
let x = guest.location(in: self).x
if state == .began{
startp = x-conView.mm_x
}else{
let gap = x-startp
if state == .changed{
if gap<0 {
conView.mm_x = max(x-startp, -140)
}else{
conView.mm_x = gap
}
}else{
UIView.animate(withDuration: 0.2) {
self.conView.mm_x = gap <= -70 ? -140 : 0
}
}
}
}