swift cell自定义左滑手势处理方法

来自:网络
时间:2023-07-25
阅读:

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

swift cell自定义左滑手势处理方法

返回顶部
顶部