1 //
2 // ViewController.m
3 // UIWindowsApp
4 //
7 //
8
9 #import "ViewController.h"
10 #import "ViewController2.h"
11
12 @interface ViewController ()
13
14 @end
15
16 @implementation ViewController
17
18
19
20
21 - (void)viewDidLoad {
22 [super viewDidLoad];
23
24 UIImage* image = [UIImage imageNamed:@"1.jpg"];
25
26 UIImageView* _imageView= [[UIImageView alloc]init];
27
28 _imageView.image = image;
29
30 _imageView.frame = CGRectMake(50, 100, 220, 300);
31
32 //是否开启交互事件响应开关,默认值为NO
33 _imageView.userInteractionEnabled = YES;
34
35 [self.view addSubview:_imageView];
36
37 //1.创建一个平移手势
38 UIPanGestureRecognizer* pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panAct:)];
39
40 //将手势添加到视图
41 [_imageView addGestureRecognizer:pan];
42
43 //将手势从视图移除
44 [_imageView removeGestureRecognizer:pan];
45 //2.创建一个滑动手势
46 UISwipeGestureRecognizer* swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeAct:)];
47
48 //设置滑动手势接收的事件的类型
49
50 swipe.direction = UISwipeGestureRecognizerDirectionLeft;
51 //UISwipeGestureRecognizerDirectionLeft;
52 // swipe.direction = UISwipeGestureRecognizerDirectionDown;
53 // swipe.direction = UISwipeGestureRecognizerDirectionRight;
54 // swipe.direction = UISwipeGestureRecognizerDirectionLeft;
55
56 [_imageView addGestureRecognizer:swipe];
57
58 //3.创建一个长按事件
59
60 UILongPressGestureRecognizer* longPress = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPressAct:)];
61
62 [_imageView addGestureRecognizer:longPress];
63
64 //设置长按手势的持续时间,默认是0.5秒
65 longPress.minimumPressDuration = 3;
66
67
68 }
69 -(void) longPressAct:(UILongPressGestureRecognizer*) longPress
70 {
71 //到达三秒,触发函数
72 if(longPress.state == UIGestureRecognizerStateBegan)
73 {
74 NSLog(@"长按开始");
75 }
76 //手指离开屏幕,触发函数
77 else if (longPress.state == UIGestureRecognizerStateEnded)
78 {
79 NSLog(@"长按结束");
80 }
81
82 }
83
84
85
86
87 -(void) swipeAct:(UISwipeGestureRecognizer *) swipt
88 {
89 if(swipt.direction & UISwipeGestureRecognizerDirectionLeft)
90 {
91 NSLog(@"Left");
92 }else if (swipt.direction & UISwipeGestureRecognizerDirectionRight)
93 {
94 NSLog(@"Right");
95 }
96
97
98 }
99
100
101
102
103 -(void) panAct:(UIPanGestureRecognizer*) pan
104 {
105 NSLog(@"pan");
106
107 //获取移动的坐标,相对于视图的坐标系
108 CGPoint pt = [pan translationInView:self.view];
109
110 NSLog(@"x=%.2f , y=%.2f ",pt.x,pt.y);
111
112 //获取移动时的相对速度,这个速度是指每秒钟移动的像素的值
113 CGPoint pv = [pan velocityInView:self.view];
114
115 NSLog(@"pv.x = %.2f,pv.y = %.2f",pv.x,pv.y);
116
117
118 }
119
120
121
122 //是否可以同时响应两个手势,yes 可以,no 不可以
123 -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
124 {
125 return YES;
126 }
127
128
129 - (void)didReceiveMemoryWarning {
130 [super didReceiveMemoryWarning];
131 // Dispose of any resources that can be recreated.
132 }
133
134
135 @end