码迷,mamicode.com
首页 > 其他好文 > 详细

触摸、手势

时间:2016-02-17 06:05:25      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

触摸:
1、创建一个视图,重写TA在不同阶段的触发的方法,方法如下:
技术分享技术分享
2、当重写触碰移动方法,想要实现一个视图随着自己的鼠标移动的方法时
     获取触摸在屏幕上的手指对象:
     UITouch *tou = [touches anyObject];
     (1)要获取手指移动之前的位置 
     之前的位置 = [tou previousLocationInView:self]
     (2)要获取手指移动之后的位置
     之后的位置 = [tou locationInView];
     (3)视图现在的位置的X值就是: 自己原来的位置 + (手指移动之后的x的值 - 手指移动之前x的值)
     (4)视图现在位置的y值同理
     代码如下:
技术分享技术分享
拓展:视图中有一个属性是userInteractionEnabled,这个属性的默认值是YES,如果把TA的这个属性设置为NO,它将不能触发事件
 
手势:
创建手势的步骤:
1、创建手势识别器对象、如创建一个敲击手势对象
手势类型 *手势名 =[ [手势类型 alloc] init];如:
技术分享技术分享
2、可以设置敲击手势要连续敲击几次,手势识别才会成功,如:
技术分享技术分享
3、可以设置要几根手指同时敲击,手势才会识别成功
技术分享技术分享
4、为对象添加手势识别器对象
技术分享技术分享
5、为手势添加监听方法(可以在tapView1方法中打印一句话)
技术分享技术分享
6、记得打开用户交互
技术分享技术分享
注:清扫的属性:direction,设置清扫的方向:
技术分享技术分享
长按的属性:
技术分享技术分享
当手势是旋转的时候:方法内部的代码如下:
技术分享技术分享
当手势是缩放的时候,方法内部的代码如下:
技术分享技术分享
当手势是平移的时候,方法内部的代码如下:
技术分享技术分享
 
 
拓展1:手势是有代理对象的,可以为手势添加代理,可以在代理中阻断手势的运行等
步骤:
1、如:tap.delegate = self;
2、如:
技术分享技术分享
当有敲击手势的时候,就会走代理方法,返回NO不执行手势方法,返回YES执行手势方法,图中的代码表示:当手指点击图片的左边时手势有反应,当点击图片的右边时,手势不做反应
拓展2:可以设置多个手势一起为一个图片做处理,设置代理
步骤:
1、如:tap.delegate = self;
2、如:
技术分享技术分享
 
手势识别器:
技术分享技术分享

触摸、手势

标签:

原文地址:http://www.cnblogs.com/zsbk/p/5194168.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!