import UIKit
class ViewController: UIViewController {
var rect:UIView!
override func viewDidLoad() {
super.viewDidLoad()
let swipeUp = UISwipeGestureRecognizer(target:self, action:Selector("swipe:"))
swipeUp.direction = UISwipeGestureRecognizerDirection.Up
self.view.addGestureRecognizer(swipeUp)
let swipeDown = UISwipeGestureRecognizer(target:self, action:Selector("swipe:"))
swipeDown.direction = UISwipeGestureRecognizerDirection.Down
self.view.addGestureRecognizer(swipeDown)
let swipeLeft = UISwipeGestureRecognizer(target:self, action:Selector("swipe:"))
swipeLeft.direction = UISwipeGestureRecognizerDirection.Left
self.view.addGestureRecognizer(swipeLeft)
let swipeRight = UISwipeGestureRecognizer(target:self, action:Selector("swipe:"))
swipeRight.direction = UISwipeGestureRecognizerDirection.Right
self.view.addGestureRecognizer(swipeRight)
//单击监听
let tapSingle=UITapGestureRecognizer(target:self,action:"tapSingleDid")
tapSingle.numberOfTapsRequired=1
tapSingle.numberOfTouchesRequired=1
//双击监听
let tapDouble=UITapGestureRecognizer(target:self,action:"tapDoubleDid:")
tapDouble.numberOfTapsRequired=2
tapDouble.numberOfTouchesRequired=1
//声明点击事件需要双击事件检测失败后才会执行
tapSingle.requireGestureRecognizerToFail(tapDouble);
self.view.addGestureRecognizer(tapSingle)
self.view.addGestureRecognizer(tapDouble)
//设置监听方法为pinchDid方法(捏合手势(两个手指进行放大缩小))
let pinch=UIPinchGestureRecognizer(target:self,action:"pinchDid:")
self.view.addGestureRecognizer(pinch)
//旋转手势
let rotation=UIRotationGestureRecognizer(target:self,action:"rotationDid:")
self.view.addGestureRecognizer(rotation)
rect=UIView(frame:CGRectMake(0, 0, 100, 100))
rect.center=self.view.center
rect.backgroundColor=UIColor.redColor()
self.view.addSubview(rect)
//拖动手势
let pan = UIPanGestureRecognizer(target:self,action:"panDid:")
pan.maximumNumberOfTouches=1
rect.addGestureRecognizer(pan)
}
func panDid(recognizer:UISwipeGestureRecognizer){
let point=recognizer.locationInView(self.view)
//设置矩形的位置
rect.center=point
}
func swipe(recognizer:UISwipeGestureRecognizer){
if recognizer.direction == UISwipeGestureRecognizerDirection.Up{
print("向上滑动")
}else if recognizer.direction == UISwipeGestureRecognizerDirection.Down{
print("向下滑动")
}else if recognizer.direction == UISwipeGestureRecognizerDirection.Left{
print("向左滑动")
}else if recognizer.direction == UISwipeGestureRecognizerDirection.Right{
print("向右滑动")
}
let point=recognizer.locationInView(self.view)
//这个点是滑动的起点
print(point.x)
print(point.y)
}
func rotationDid(recognizer:UIRotationGestureRecognizer){
//旋转的弧度转换为角度
print(recognizer.rotation*(180/CGFloat(M_PI)))
}
func pinchDid(recognizer:UIPinchGestureRecognizer)
{
//在监听方法中可以实时获得捏合的比例
print(recognizer.scale);
}
func tapSingleDid(){
print("单击了")
}
func tapDoubleDid(sender:UITapGestureRecognizer){
if sender.view == self.view{
print("双击了")
}
}
}