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

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自定义左滑手势处理的文章就介绍到这了,更多相关swift cell自定义左滑内容请搜索云海天教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持云海天教程!