触摸、手势

触摸:

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、如:

手势识别器:

时间: 2024-10-29 00:42:11

触摸、手势的相关文章

Qt for android触摸手势事件QGestureEvent

在触摸设备上可以使用Qt的手势事件 要激活手势事件,需要执行以下操作: 第一步,为QWidget控件注册手势事件 QList<Qt::GestureType> gestures; gestures << Qt::PanGesture; gestures << Qt::PinchGesture; gestures << Qt::SwipeGesture; gestures << Qt::TapGesture; gestures << Q

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最佳实践之触摸手势

普通手势 参考地址:http://developer.android.com/training/gestures/detector.html#data 当用户一根或多根手指在屏幕上运动的时候,就开始产生了手势事件,我们用onTouchEvent()回调方法来处理. 为Activity 或View捕捉触摸事件 使用getActionMasked()来提取event中的action. public class MainActivity extends Activity { ... // This e

Quo JS多种触摸手势轻量级JavaScript库【唯美巷转载】

Quo JS是一个轻量级模块化.面向对象的JavaScript库,定义了多种触摸手势,可以用于移动Web开发中简化HTML文件遍历.事件处理及Ajax交互等,让开发者轻松编写出高效的跨浏览器代码. Quo JS介绍 Quo JS旨在简化你的移动开发项目的代码量,针对当前的移动设备优化代码运行,支持单点.多点.滑动.按住等多种手势的操作. 专为移动 为了改变你的目标,编写JavaScript的方式:一个好的API库5-6k gzip压缩过的所以你可以集中精力处理最基本的东西做苦力的工作.开源的MI

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

触摸手势以及图形变换(UIGestureRecognizer, CGAffineTransform)

概要 本章主要学习了IOS开发中的触摸手势以及图形变换的知识,其中手势包括单击.双击.长按.拖动.滑动.缩放.旋转,图形变化主要使用放射矩阵的平移.缩放和旋转. 使用手势时应该注意手势是指定到特定的视图(UIView)上的,因此一个手势只能对应一个视图(手势里面的view属性可获取其所所对应的视图),而一个View可以添加多个手势.同时,因为有的手势之间有冲突的,比如单击和双击,滑动和拖动.针对这种情形需要使用手势的依赖性特性做出区分,改特性要求特定手势失败后才触发该手势. 仿射矩阵变化应该注意

支持元素惯性拖放和多点触摸手势的js插件

interact.js是一款支持元素惯性拖放和多点触摸手势的js插件.该插件支持在桌面设备和移动手机设备中拖放元素,拖动结束时带有惯性效果.并且支持移动设备的多点触摸手势.它的特点有: 带惯性和吸附效果 支持多元互动 跨浏览器和设备,支持桌面和移动版本的Chrome, Firefox 和 Opera浏览器以及IE8+浏览器 可以和SVG元素相互作用 轻量级,无任何外部依赖 除非要支持IE8或修改鼠标样式,否则不用修改任何DOM元素 效果演示:http://www.htmleaf.com/Demo

错误总结之播放器(vitamio)音量实体键与触摸手势控制,音量调节冲突

这个可是独家心得:经过几天的网上资料查询未果,在群里遇到一同行.然后让他帮我看了看,最终解决了该冲突.此时,谨以此来感谢那位同僚的热情帮助: 说说这个问题吧: 目前我在做一款影视方面的项目,在该项目中肯定是要用到视频播放这一块,视频播放是引用了vitamio类库,播放页面使用的是SurfaceView控件.然后在视频播放的期间,有这些要求:手势滑动调节音量.当我费劲千辛万苦搞定之后,没有想到却遇到了按音量实体键的时候播放页面退出的冲突问题.那么怎么解决该问题呢?很简单,几行代码的事情. 返回键监

20个Mac用户必须掌握的触摸手势

我第一次接触MacBook时,最令我惊叹的就是MacBook的触摸板,通过各种手势,完全可以不用鼠标,且有些时候更加的快捷和方便.那么都有哪些手势呢?可以通过 -> 来查看学习各种手势的使用,下面分享20个常用的手势. 一.一般通用手势 二.在 Safari.Chrome 以及 Firefox 浏览器中的手势 三.在预览应用中的手势 参考:http://www.ifunmac.com/2012/11/mac-gesture/

手势 触摸【缩放】GestureDetector MotionEvent 案例

GestureDetector和ScaleGestureDetector示例 /** * 演示[单点触摸手势识别器] * 演示[缩放手势识别器]最简单的使用 * @author 白乾涛 */ public class FirstActivity extends Activity implements OnTouchListener { private ImageView iv; private GestureDetector mGestureDetector;//单击和双击事件手势识别器 pri