UIGesture基础手势

下面介绍的是缩放手势和捏合手势:

直接上代码:

 1 #import "ViewController.h"
 2
 3 @interface ViewController ()<UIGestureRecognizerDelegate>
 4
 5 @end
 6
 7 @implementation ViewController
 8
 9 - (void)viewDidLoad {
10     [super viewDidLoad];
11     // Do any additional setup after loading the view, typically from a nib.
12
13     //如果需要同时旋转和缩放我们还需要实现一个协议UIGestureRecognizerDelegate
14
15
16     UIImage *image = [UIImage imageNamed:@"2.jpg"];
17
18     UIImageView *imageView = [[UIImageView alloc]init];
19     imageView.frame = CGRectMake(100, 200, 300, 400);
20     imageView.userInteractionEnabled = YES;
21     imageView.image = image;
22     [self.view addSubview:imageView];
23
24     //添加缩放手势(捏合手势)
25     _pinGes = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pinchAct:)];
26
27     [imageView addGestureRecognizer:_pinGes];
28
29     //创建旋转手势
30     _rotGes = [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(RotGes:)];
31
32     [imageView addGestureRecognizer:_rotGes];
33
34     //设置协议代理
35     _pinGes.delegate = self;
36     _rotGes.delegate = self;
37
38 }
39
40 - (void)pinchAct:(UIPinchGestureRecognizer *)pin{
41     //获取监控图像视图(也就是上面的imageView对象)
42     UIImageView *Iview = (UIImageView *)pin.view;
43     //对图像视图对象进行矩阵变换计算并赋值
44     // transform 表示图形的变换
45     //CGAffineTransformScale 通过缩放的方式产生一个新矩阵
46     //p1 原来的矩阵
47     //p2 x方向的的缩放比例
48     //p3 y方向的缩放比例
49     Iview.transform = CGAffineTransformScale(Iview.transform, pin.scale, pin.scale);
50
51
52     //将缩放值归位为单位值
53     pin.scale = 1;
54
55 }
56
57 - (void)RotGes:(UIRotationGestureRecognizer *)rotGes{
58
59     //获取旋转对象
60     UIImageView *Iview = (UIImageView *)rotGes.view;
61     //计算旋转变化并赋值
62     Iview.transform = CGAffineTransformRotate(Iview.transform, rotGes.rotation);
63
64     //选择角度清零;
65     rotGes.rotation = 0;
66
67
68 }
69 //实现协议方法
70 //是否可以同时响应俩个手势
71 //如果返回值为YES 可以同时响应;
72 -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
73
74     return YES;
75 }

这样就可以简单的实现对视图的缩放(捏合)和旋转.

时间: 2024-11-19 08:42:41

UIGesture基础手势的相关文章

unity中使用FingerGestures插件3.0

FingerGestures是一个unity3D插件,用来处理用户动作,手势. 译自FingerGestures官方文档 目录 FingerGestures包结构 FingerGestures例子列表 设置场景 教程:识别一个轻敲手势 教程:手势识别器 教程:轻击手势识别器 教程:拖拽手势识别器 教程:滑动手势识别器 教程:长按手势识别器 教程:缩放手势识别器 教程:旋转手势识别器 教程:自定义手势识别器 教程:识别手势事件 建议:使用.net代理事件 fingerGestures包结构 路径,

验证iOS应用的无障碍特性

原文:Verifying App Accessibility on iOS 译者:刘辉.李鸿利(中国信息无障碍产品联盟&信息无障碍研究会) 1.  关于在iOS上验证无障碍特性 重要:该文档包含在开发过程中用到的一个API或技术的初步信息.该信息可能随时会改变,根据该文档实现的软件,应该在最终操作系统软件中测试该软件. 到现在为止,开发者已经做了无障碍优化.但是怎样确保应用的无障碍特性?开发者可以使用与视障用户相同的屏幕阅读技术与应用进行交互,测试应用的无障碍特性.这样,开发者可以复制无障碍的体

unity3D的FingerGestures小工具

夹 FingerGestures包结构 FingerGestures样例列表 设置场景 教程:识别一个轻敲手势 教程:手势识别器 教程:轻击手势识别器 教程:拖拽手势识别器 教程:滑动手势识别器 教程:长按手势识别器 教程:缩放手势识别器 教程:旋转手势识别器 教程:自己定义手势识别器 教程:识别手势事件 建议:使用.net代理事件 fingerGestures包结构 路径.相对Assets/Plugin/- 描写叙述 FingerGestures/ 插件的根文件夹 FingerGestures

java web 开发三剑客 -------电子书

Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知Internet的目的是让各个net交互.所以,Internet实质上是将世界上各个国家.各个网络运营商的多个网络相互连接构成的一个全球范围内的统一网,使各个网络之间能够相互到达.各个国家和运营商构建网络采用的底层技术和实现可能各不相同,但只要采用统一的上层协议(TCP/IP)就可以通过Internet

Android 触摸手势基础 官方文档概览2

Android 触摸手势基础 官方文档概览 触摸手势检测基础 手势检测一般包含两个阶段: 1.获取touch事件数据 2.解析这些数据,看它们是否满足你的应用所支持的某种手势. 相关API: MotionEvent 兼容版的: MotionEventCompat  (Note that MotionEventCompat is not a replacement for the MotionEvent class. Rather, it provides static utility metho

Android基础新手教程——3.8 Gestures(手势)

Android基础新手教程--3.8 Gesture(手势) 标签(空格分隔): Android基础新手教程 本节引言: 周六不歇息,刚剪完了个大平头回来.继续码字~ 好的,本节给大家带来点的是第三章的最后一节--Gesture(手势), 用过魅族手机的朋友相信对手势肯定是不陌生的.在home键两側像屏幕内滑动, 能够打开后台任务列表等等~在应用中通过手势来操作会大大提升用户体验. 比方Scroll手势在浏览器中个滚屏,Fling在浏览器中的换页等! 当然,有利也有弊,比方不当的手势操作引起AP

拼图游戏-从基础到应用玩转手势变化。

小方块相关的类 主界面的布局 打开图片选择图片 拼图的各个小方块的形成过程 小方块的点击事件和手势判断过程 游戏开始打乱方块以及游戏结束时弹出Toast提示的方法 相信大家在小的时候都玩过拼图游戏,现如今,手机普及,能在手机上玩的游戏越来越多,于是乎,重温小时候,编写这个简易拼图游戏,而且也能进一步加深android的一些基础知识. 老规矩,先是效果图~: 这里我把为了演示效果,把图片打乱的很少,在代码里可以更改. 首先,有个默认的图片,可以用来拼图,也可以选择你喜欢的图片进行拼图,拼图的过程会

Android 触摸手势基础 官方文档概览

触摸手势检测基础 手势检测一般包含两个阶段: 1.获取touch事件数据 2.解析这些数据,看它们是否满足你的应用所支持的某种手势. 相关API: MotionEvent 兼容版的: MotionEventCompat  (Note that MotionEventCompat is not a replacement for the MotionEvent class. Rather, it provides static utility methods to which you pass y

Android基础入门教程——3.8 Gestures(手势)

Android基础入门教程--3.8 Gesture(手势) 标签(空格分隔): Android基础入门教程 本节引言: 周六不休息,刚剪完了个大平头回来,继续码字~ 好的,本节给大家带来点的是第三章的最后一节--Gesture(手势), 用过魅族手机的朋友相信对手势肯定是不陌生的,在home键两侧像屏幕内滑动, 可以打开后台任务列表等等~在应用中通过手势来操作会大大提升用户体验, 比如Scroll手势在浏览器中个滚屏,Fling在浏览器中的换页等! 当然,有利也有弊,比如不当的手势操作引起AP