(本文代码已升级至Swift4)
UIGestureRecognizer 有许多子类,用于监听一些常见的手势事件,这些子类主要有:
1,UISwipeGestureRecognizer:滑动(快速移动)
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let swipe = UISwipeGestureRecognizer(target:self, action:#selector(swipe(_:)))
swipe.direction = .up
self.view.addGestureRecognizer(swipe)
}
@objc func swipe(_ recognizer:UISwipeGestureRecognizer){
print("swipe ok")
let point=recognizer.location(in: self.view)
//这个点是滑动的起点
print(point.x)
print(point.y)
}
}
注意1:如果 UISwipeGestureRecognizer 在不指定方向的时候,默认向右滑动才会触发事件。如果要指定方向,需要设置 direction 属性
//表示监听滑动的方向为向上
swipe.direction = .up
注意2:有网友问如果各个方向都要响应怎么办,只要多定义几个 UISwipeGestureRecognizer 就可以了
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let swipeUp = UISwipeGestureRecognizer(target:self, action:#selector(swipe(_:)))
swipeUp.direction = .up
self.view.addGestureRecognizer(swipeUp)
let swipeDown = UISwipeGestureRecognizer(target:self, action:#selector(swipe(_:)))
swipeDown.direction = .down
self.view.addGestureRecognizer(swipeDown)
}
@objc func swipe(_ recognizer:UISwipeGestureRecognizer){
if