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.远程控制事件:通过其他远程设备触发(例如耳机控制按钮) ...
随机推荐
- 通过xshell 设置代理上网
前言: 前段时间,选修了一门并行计算,老师给我们每个人分配了一个linux登录账号,通过这个账号,可能登录学校的一台linux . 一次偶然的机会,了解到可以通过xshell , ssh服务器给本地开 ...
- 【文件系统】浅解释FAT32
了解完linux下的文件系统之后,顺便对FAT32也研究一下. 假如一个FAT32表如下所示. 文件的簇应该保留在目录中,根据此簇,应该能得到一个块. 要找到文件的下一块,就要根据簇在FAT中寻找,所 ...
- Linux/Unix mac 命令笔记
bg和fg Linux/Unix 区别于微软平台最大的优点就是真正的多用户,多任务.因此在任务管理上也有别具特色的管理思想.我们知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行 ...
- scanf()/getchar()和gets()深入分析
C/C++学习笔记1 - 深入了解scanf()/getchar()和gets()等函数 ---------------------------------------------------- | ...
- pku1273 Drainage Ditches
http://poj.org/problem?id=1273 网络流,Dinic #include <stdio.h> #include <string.h> #include ...
- SpriteKitCommonUse
[SpriteKitCommonUse] 1.SKView中提供了显示FPS和NodeCount(当前view)的方法,如下: 展现一个scene: - (void)viewWillAppear:(B ...
- C++11用于计算函数对象返回类型的统一方法
[C++11用于计算函数对象返回类型的统一方法] 模板 std::result_of 被TR1 引进且被 C++11 所采纳,可允许我们决定和使用一个仿函数其回返值的类别.底下,CalculusVer ...
- 树上的DP
CF#196B http://codeforces.com/contest/338/problem/B 题意:在一颗树上,给m个点,求到所有m个点距离不超过d的点的个数,所有路径长度为1. 分析:问题 ...
- P67、H67、H61、P55、H57、H55 区别
Intel平台上我们现在已经有了LGA775.LGA1366.LGA1156三种封装接口,SNB还会带来两种,包括今天要看到的LGA1155(取代LGA1156),以及明年下半年的高端LGA2011, ...
- XML文件的生成与读取
从数据库生成: public static void ToXML(string tablename) { //获取数据 string sql = "select * from " ...