标签:
在iOS开发中,UIGestureRecognizer可以方便的响应处理手势事件。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
import UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() //支持多点触摸 self.view.multipleTouchEnabled = true } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) { for touch: AnyObject in touches { var t:UITouch = touch as! UITouch //当在屏幕上连续拍动两下时,背景恢复为白色 if(t.tapCount == 2) { self.view.backgroundColor = UIColor.whiteColor() } //当在屏幕上单击时,屏幕变为红色 else if(t.tapCount == 1) { self.view.backgroundColor = UIColor.redColor() } println("event begin!") } } override func touchesMoved(touches: Set<NSObject>, withEvent event: UIEvent) { for touch: AnyObject in touches { var t:UITouch = touch as! UITouch println(t.locationInView(self.view)) } } override func touchesEnded(touches: Set<NSObject>, withEvent event: UIEvent) { //两点触摸时,计算两点间的距离 if touches.count == 2{ //获取触摸点 let first = (touches as NSSet).allObjects[0] as! UITouch let second = (touches as NSSet).allObjects[1] as! UITouch //获取触摸点坐标 let firstPoint = first.locationInView(self.view) let secondPoint = second.locationInView(self.view) //计算两点间的距离 let deltaX = secondPoint.x - firstPoint.x let deltaY = secondPoint.y - firstPoint.y let initialDistance = sqrt(deltaX*deltaX + deltaY*deltaY) println("两点间距离:\(initialDistance)") } println("event end!") } override func touchesCancelled(touches: Set<NSObject>, withEvent event: UIEvent) { println("event canceled!") }} |
标签:
原文地址:http://www.cnblogs.com/Free-Thinker/p/4838421.html