swift - UIGestureRecognizer
import UIKit class ViewController: UIViewController{ var view1: UIView! override func viewDidLoad() { super.viewDidLoad() //向上滑动 let upSwipe = UISwipeGestureRecognizer(target: self, action: #selector(swipe(_:))) upSwipe.direction = .up; self.view.addGestureRecognizer(upSwipe) //向下滑动 let downSwipe = UISwipeGestureRecognizer(target: self, action: #selector(swipe(_:))) downSwipe.direction = .down; self.view.addGestureRecognizer(downSwipe) //边缘滑动 let edgeSwipe = UIScreenEdgePanGestureRecognizer(target: self, action: #selector(edgeSwipe(_:))) edgeSwipe.edges = .left self.view.addGestureRecognizer(edgeSwipe) //单点手势 let tapSingle = UITapGestureRecognizer(target: self, action: #selector(tapSingleClick)) tapSingle.numberOfTapsRequired = 1 tapSingle.numberOfTouchesRequired = 1 self.view.addGestureRecognizer(tapSingle) //双击手势 let tapDouble = UITapGestureRecognizer(target: self, action: #selector(tapDoubleClick)) tapDouble.numberOfTapsRequired = 2 self.view.addGestureRecognizer(tapDouble) //捏合手势 let pinch = UIPinchGestureRecognizer(target: self, action: #selector(pichClick(_:))) self.view.addGestureRecognizer(pinch) //旋转手势 let rotation = UIRotationGestureRecognizer(target: self, action: #selector(rotationClick(_:))) self.view.addGestureRecognizer(rotation) //拖动手势 view1 = UIView(frame: CGRect(x: 50, y: 50, width: 80, height: 80)) view1.backgroundColor = UIColor.red self.view.addSubview(view1) // let pan = UIPanGestureRecognizer(target: self, action: #selector(panClick(_:))) view1.addGestureRecognizer(pan) //长按手势 let longPress = UILongPressGestureRecognizer(target: self, action: #selector(longPressClick(_:))) longPress.minimumPressDuration = 2//长按启动时间设置 self.view.addGestureRecognizer(longPress) } //上下滑动 @objc func swipe(_ recongizer:UISwipeGestureRecognizer){ let point = recongizer.location(in: self.view) if recongizer.direction == .up{ print("向上滑动point = \(point)") }else if recongizer.direction == .down{ print("向下滑动point = \(point)") } } //边缘滑动 @objc func edgeSwipe(_ recongizer:UIScreenEdgePanGestureRecognizer){ let point = recongizer.location(in: self.view) print("边缘滑动point = \(point)") } //单击 @objc func tapSingleClick(){ print("单击了") } //双击 @objc func tapDoubleClick(){ print("双击了") } //捏合 @objc func pichClick(_ recongnizer:UIPinchGestureRecognizer){ print(recongnizer.scale) print(recongnizer.location(in: self.view)) } //旋转 @objc func rotationClick(_ recongnizer:UIRotationGestureRecognizer){ //旋转的弧度装换为角度 print(recongnizer.rotation*(180/CGFloat.pi)) } //拖动手势 @objc func panClick(_ recongizer:UIPanGestureRecognizer){ let point = recongizer.location(in: self.view) view1.center = point } //长按手势 @objc func longPressClick(_ recongnizer:UILongPressGestureRecognizer){ if recongnizer.state == .began { print("开始点击") }else{ print("结束点击") } } }