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 } } } }