更多参考 :
https://blog.csdn.net/EIamor/article/details/78293439
** tapges 与 uibutton 冲突, 如果是button 就不执行 tapges
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
if((touch.view)?.isKind(of: UIButton.self))!{
return false
}
return true;
}
** 两个滑动 手势 冲突,
class ViewController: UIGestureRecognizerDelegate{
//下面两个事件在 .began 前触发 , 在触发时就设置X起始坐标
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
let point = gestureRecognizer.location(in: self.view);
if(point.x < xxx || point.x > (selfWh-xxx)){
selfDrag_start_x = point.x;
return true;
}
return false
}
func a(){
let ges = UIPanGestureRecognizer(target: self, action: #selector(webBoxDrag))
ges.delegate = self
xx(uiScrollView).addGestureRecognizer(ges)
}
}
扩展
if(gestureRecognizer.isKind(of: UIPanGestureRecognizer.self) == false){
return false;
}
如果不是 UIPanGestureRecognizer 就直接返回false