IOS触摸事件和手势识别
IOS触摸事件和手势识别
目录
- 概述
- 触摸事件
- 手势识别
概述
为了实现一些新的需求,我们常常需要给IOS添加触摸事件和手势识别
触摸事件
触摸事件的四种方法
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 开始触摸所触发的方法
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 移动时触发的方法
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 离开时触发的方法
-(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event 系统由于某原因取消触摸事件时所调用的方法
获得触摸位置的方法
for(UITouch *t in touches){
CGPoint touchPosition = [t locationInView:self.view];
NSLog(@"%f,%f",touchPosition.x,touchPosition.y);
}
手势识别
手势种类
UITapGestureRecognizer轻触
UISwipeGestureRecognizer很快的滑动
UIPanGestureRecognizer拖动
UIPinchGestureRecognizer两个手指头捏或放
UIRotationGestureRecognizer手指方向操作
UILongPressGestureRecognizer长按
UITapGestureRecognizer轻触
初始化
UITapGestureRecognizer *tapGR = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)];
[view addGestureRecognizer:tapGR];
常用方法
[self setNumberOfTapsRequired:numbers];
[self setNumberOfTouchesRequired:number2];
其他方法可以参考UIGestureRecognizer文档
UITapGestureRecognizer的响应方法
-(void)tapAction:(UITapGestureRecognizer *)sender{
//Tap拿起的时候
if(tapGR.state == UIGestureRecognizerStateEnded){
}
//Tap按下的时候
if(tapGR.state == UIGestureRecognizerStateBegan){
}
//等等其他状态
}
获得UITapGestureRecognizer按下的位置
CGPoint point = [sender locationInView:view];
IOS触摸事件和手势识别的更多相关文章
- iOS开发系列--触摸事件、手势识别、摇晃事件、耳机线控
-- iOS事件全面解析 概览 iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以不用按键和手写笔直接操作的,这不愧为一项伟大的设计.今天我们就针对iOS的触摸事 ...
- 转发:iOS开发系列--触摸事件、手势识别、摇晃事件、耳机线控
-- iOS事件全面解析 转载来自崔江涛(KenshinCui) 链接:http://www.cnblogs.com/kenshincui/p/3950646.html 概览 iPhone的成功很大一 ...
- iOS:触摸事件和手势识别的介绍
触摸事件和手势识别的介绍 1.iOS的输入事件 UIKit可识别三种类型的输入事件: 触摸事件 运动事件 远程控制事件 iOS中许多事件对象都是UIEvent类的实例,UIEvent记录了事件所产生 ...
- 【iOS系列】-触摸事件与手势识别
[iOS系列]-触摸事件与手势识别 第一:触摸事件 一根手指触摸屏幕时,会创建一个与手指相关联的UITouch对象 UIEvent:称为事件对象,记录事件产生的时刻和类型 两根手指同时触摸一个view ...
- IOS——触摸事件 视图检测和事件传递
iPhone上有非常流畅的用户触摸交互体验,能检测各种手势:点击,滑动,放大缩小,旋转.大多数情况都是用UI*GestureRecognizer这样的手势对象来关联手势事件和手势处理函数.也有时候,会 ...
- IOS 触摸事件分发机制详解
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:MelonTeam 前言 很多时候大家都不关心IOS触摸事件的分发机制的实现原理,当遇到以下几种情形的时候你很可能抓破头皮都找不到解决方案 ...
- 触摸事件,手势识别(UITouch,UIGestureRecognizer)
触摸发生时,UIWindow会有一个队列来存放所有的触摸事件,然后再把这些事件发送给对应的hit-test view,hit-test view会通过touch的四个函数来接收这些事件. 四个函数分别 ...
- iOS基础 - 触摸事件与手势识别
一.iOS的输入事件 UIKit可识别三种类型的输入事件: 触摸事件 运动(加速计)事件 远程控制事件 二.UIEvent iOS中许多事件对象都是UIEvent类的实例,记录事件产生的时刻和类型 U ...
- iOS中的触摸事件,手势识别,摇晃事件等
在iOS中,事件可以划分为以下几类: 1.触摸事件:通过触摸,手势进行触发(手指点击.缩放等) 2.运动事件:通过加速器触发(例如手机晃动) 3.远程控制事件:通过其他远程设备触发(例如耳机控制按钮) ...
随机推荐
- 一个Web页面的生命周期 ,面试常常被问到
常规页生命周期阶段 一般来说,页要经历下表概述的各个阶段.除了页生命周期阶段以外,在请求前后还存在应用程序阶段,但是这些阶段并不特定于页.有关更多信息,请参见 ASP.NET 应用程序生命周期概述. ...
- WebGoat学习——SQL注入(SQL Injection)
SQL注入(SQL Injection) 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.攻击者通过web请求提交带有影响正 ...
- mybatis系列-16-spring和mybatis整合
16.1 整合思路 需要spring通过单例方式管理SqlSessionFactory. spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSess ...
- Windows Azure 虚拟网络配置(Site to Site)
上篇我们创建了Point to Site的虚拟网络连接,来满足客户端到云端网络的连接.本篇文章我们将创建Site to Site的虚拟网络连接,以满足本地网络到云端的网络连接. 创建与配置过程与上篇较 ...
- html5 base64基础
base64常见的编码形式,二进制文件.图片.视频等 如何弄出来一个base64? a). FileReader readAsDataURL(); b). 工具 ...
- 第二百零二天 how can I 坚持
最近增肥好明显,胃口好没办法,只要肚子起不来就行了.加油. 其实挺幸福,想吃啥吃啥. 鱼会不会被冻死,买了加热棒不想用,该咋办呢. 股市又跌没了一千多,还是不够睿智,不够淡定. 人活这一辈子,到底最想 ...
- 如何判断Android设备是手机还是平板?
转自:http://blog.csdn.net/zuolongsnail/article/details/8682950 Android开发需要适配手机和平板,有些需求在实现中就要判断设备是手机还是平 ...
- 【转】玩转log4j
原文链接:http://www.cnblogs.com/shenliang123/archive/2012/05/02/2479286.html 由于最近正在扩展卫生局考务系统,由于上一次使用过一次该 ...
- [翻译]创建ASP.NET WebApi RESTful 服务(7)
实现资源分页 本章我们将介绍几种不同的结果集分页方式,实现手工分页,然后将Response通过两个不同的方式进行格式化(通过Response的Envelop元数据或header). 大家都知道一次查询 ...
- GLSL Notes
[GLSL Notes] API of shader: glCreateShader(), glShaderSource(), glCompileShader(), glGetShadrInfoLog ...