手势

点击
let tapGesture = UITapGestureRecognizer.init(target: self, action: #selector(tap))
tapGesture.numberOfTapsRequired = 1 // 点击次数
tapGesture.numberOfTouchesRequired = 2   // 手指数
self.view.addGestureRecognizer(tapGesture)

func tap() {
    print("tap")
}
长按
let longPressGesture = UILongPressGestureRecognizer.init(target: self, action: #selector(longPress))
longPressGesture.minimumPressDuration = 1 // 长按时间
longPressGesture.allowableMovement = 10 // 手势识别允许最大10像素移动
self.view.addGestureRecognizer(longPressGesture)

func longPress(sender:UIGestureRecognizer) {
    let longPressGesture = sender as! UILongPressGestureRecognizer
    if longPressGesture.state == .began { // 开始
        print("begin")
    }else if longPressGesture.state == .changed { // 改变
        print("change")
    }else if longPressGesture.state == .ended { // 结束
        print("end")
    }else if longPressGesture.state == .cancelled { // 取消
        print("cancel")
    }else if longPressGesture.state == .failed { // 失败
        print("fail")
    }
}
轻扫
let swipeGesture = UISwipeGestureRecognizer.init(target: self, action: #selector(swipe))
swipeGesture.direction = .left // 手势方向
self.view.addGestureRecognizer(swipeGesture)

func swipe(sender:UISwipeGestureRecognizer) {
    if sender.direction == .left { // 向左轻扫
        print("left")
    }else if sender.direction == .right { // 向右轻扫
        print("right")
    }else if sender.direction == .up { // 向上轻扫
        print("up")
    }else if sender.direction == .down { // 向下轻扫
        print("down")
    }
}
捏合
let pinchGesture = UIPinchGestureRecognizer.init(target: self, action: #selector(pinch))
self.view.addGestureRecognizer(pinchGesture)

func pinch(sender:UIPinchGestureRecognizer) {
    if sender.state == .changed {
        print(sender.scale)
    }else if sender.state == .ended {
    
    }
}
拖动
let panGesture = UIPanGestureRecognizer.init(target: self, action: #selector(pan))
self.view.addGestureRecognizer(panGesture)

func pan(sender:UIPanGestureRecognizer) {
    let point = sender.translation(in: self.view)
    print("\(point)")
}
旋转
let rotationGesture = UIRotationGestureRecognizer.init(target: self, action: #selector(rotation))
self.view.addGestureRecognizer(rotationGesture)

func rotation(sender:UIRotationGestureRecognizer) {
    if sender.state == .changed {
        print("\(sender.rotation)")
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容