标签:
在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 UIKit class 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