swift3.0之解决(UITableView)表格添加拖动手势冲突造成表格不能滑动问题

一、引用 UIGestureRecognizerDelegate

class ViewController: UIViewController ,UIGestureRecognizerDelegate{

二、添加拖动手势到tableview

func initGesture() {

       //初始化手势并指定触发事件

        let panGesture = UIPanGestureRecognizer(target: self, action: #selector(pan(pan:)))

        //设置拖动手势的最大手指数

        panGesture.maximumNumberOfTouches = 1

       //指定手势委托对象

        panGestureRx.delegate = self

        tableView.addGestureRecognizer(panGestureRx)

    }

///拖动手势触发事件

@objc func pan(pan:UIPanGestureRecognizer) {

       //手势当前坐标  

        let point = pan.location(in: self.view)

        //拖动开始

        if pan.state == .began { 

        }

        //拖动过程

        else if pan.state == .changed {

        }

        //拖动结束

        else if pan.state == .ended {

        }

}

三、重写gestureRecognizer方法设置表格的不同手势可以同时触发

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {

        if (otherGestureRecognizer.view?.isKind(of: UITableView.self))! {

            return true

        }

        return false

    }

猜你喜欢

转载自blog.csdn.net/amberoot/article/details/81478445
今日推荐