Touch基本

UIviewController可以放入touch事件

UITouch的状态:

//用户刚触摸屏幕时

UITouchPhaseBegin

//表示有触摸在屏幕上移动

UITouchPhaseMoved

//表示触摸仍停留在屏幕表面,不过之前一个事件之后没移动过

UITouchPhaseStationary

//在触摸远离屏幕时被触发

UITouchPhaseEnded

//在IOS系统停止跟踪特定触摸时发生,例如有电话打来

UITouchPhaseCancelled

//touch开始

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;

//touch移动

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;

//touch结束

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;

//touch改变后

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;

获取当前touch

UITouch *touch = [touches anyObject];

获取touch坐标

CGPoint currentPoint = [touch locationInView:self];

开启多点触控

self.multipleTouchEnabled = YES;

手势

//轻击

UITapGestureRecognizer  次数 numberOfTapsRequired

//捏合

UIPinchGestureRecognizer

//扫动

UISwipeGestureRecognizer 滑动方向 direction

//长按

UILongPressGestureRecognizer  按住时间minimumPressDuration

//拖动

UIPanGestureRecognizer

UIPanGestureRecognizer *pan = (UIPanGestureRecognizer *)touch;

UIView * view = pan.view;

if (pan.state == UIGestureRecognizerStateBegan || pan.state == UIGestureRecognizerStateChanged)

{

[[selfsuperview] bringSubviewToFront:self];

//获得每次与上次的点的移动距离

CGPoint translation = [pan translationInView:view.superview];

NSLog(@"x坐标%f,y坐标%f",translation.x,translation.y);

[view setCenter:CGPointMake(view.center.x+translation.x, view.center.y + translation.y)];

[pan setTranslation:CGPointZero inView:view.superview];

UIPan

时间: 2024-12-20 08:01:46

Touch基本的相关文章

HTML5开发移动web应用——Sencha Touch篇(7)

Sencha Touch中的Ext.DomHelper组件能够方便的实现对元素的追加或重写操作 演示样例: launch:function(){ function appendDom(){ Ext.DomHelper.append('my-div',{ id:'url-list', tag:'ul', //指定追加的元素种类 cn:[//或children.使用数组形式定义数组内的子元素 { tag:'li',, cn:[{ tag:'a', html:'google', href:'http:

linux命令:touch

1:命令介绍: touch用来创建文件或修改文件和目录的时间戳,包括存取时间和更改时间. 2:命令格式: touch [选项] 文件 3:命令参数: -a   或--time=atime或--time=access或--time=use  只更改存取时间. -c   或--no-create  不建立任何文档. -d  使用指定的日期时间,而非现在的时间. -f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题. -m   或--time=mtime或--time=modi

每天一个linux命令-touch

linux在Linux系统中用于创建文件或者,修改文件的时间戳 命令功能: 创建一个空文件,或者修改已存在文件的时间戳 语法参数: -a或--time=atime或--time=access或--time=use 只更改存取时间 -c或--no-create 不建立任何文件. -d<时间日期> 使用指定的日期时间,而非现在的时间. -m或--time=mtime或--time=modify 只更改修改时间 -r<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录

HTML5开发移动web应用——Sencha Touch篇(8)

DataView是Sencha Touch中最重要的组件,用于数据的可视化.数据可视化的重要性不言而喻,可以讲任何数据以形象的方式展示给用户.目前,如何更好地可视化是许多公司或框架都在追求的.通过数据的可视化可以发现数据之间的规律,预测未来的情况.下面我们就看看Sencha Touch中是怎么进行数据可视化的. 由于DataView组件内容非常多,所以将在以后的一段时间内持续这一部分的学习. 首先废话不多说,直接上使用DataView组件的代码框架. launch:function(){ var

Android的Touch事件分发机制简单探析

前言 Android中关于触摸事件的分发传递是一个很值得研究的东西.曾不见你引入了一个ListView的滑动功能,ListView就不听你手指的指唤来滚动了:也不知道为啥Button设置了onClick和onTouch,其中谁会先响应:或许你会问onTouch和onTouchEvent有什么区别,又该如何使用?这里一切的一切,只要你了解了事件分发机制,你会发现,解释这都不是事儿! 相关Touch事件的方法 1.public boolean dispatchTouchEvent(MotionEve

文件显示命令:cat、more、less、tail、touch详解

more   +200  catalina.out    ?? ctrl +b 上一屏 :ctrl+f 下一屏 ; v调用编辑器 ?? cat命令cat命令连接文件并打印到标准输出设备上.cat经常用来显示文件的内容,类似于下的TYPE命令. 一般格式:cat [选项] 文件说明:该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上:其二是连接两个或多个文件,如 cat fl f2 > f3将把文件fl和几的内容合并起来,然后通过输出重定

Android 自动化测试(3)&lt;monkeyrunner&gt; 根据ID查找对象&amp;touch&amp;type (python)

我在之前的两篇文章中用java来实现过 Android 自动化测试(1)如何安装和卸载一个应用(java).Android 自动化测试(2)根据ID查找对象(java). 但是本质上都是用monkeyrunner对应的java lib 来实现的,但是相关的文档非常少,如果真的要用monkeyrunner来做功能性的自动化测试,强烈还是推荐使用python语言 1.monkey runner The monkeyrunner tool provides an API for writing pro

zepto的touch模块解决click延迟300ms问题以及点透问题的详解

大家都知道移动端的click事件会延迟300ms触发,这时大家可以使用zepto的touch模块,里面定义了一个tap事件,通过绑定tap事件,可以实现点击立即触发的功能. 那么,它的tap事件是怎么实现的呢?这是我们要解决的第一个问题. 第二个问题,大家都知道zepto的tap事件会有点透的问题,那么,点透如何出现,点透为什么会出现,点透问题如何解决等,这是我们要解决的第二个问题. 我们先来看tap事件是如何实现的? 查看touch.js代码,在最后的代码中有以下代码: ;['swipe',

Linux命令 touch

1.简介 改变文件或者目录的时间,可以更新文件的存取时间(atime,文件内容被读取的时候就会更改的时间)和更改时间(mtime,文件内容被更改是会变更的时间) 2.语法和参数 touch [参数] [文件或目录] touch命令在文件不存在的时候,会创建一个空文件,但是touch命令后不能提供 -c 或者 -h参数 1. -a,--time=atime ,--time=access ,--time=use 只更改文件的读取时间 2. -c,--no-create 不创建任何文件 3. -d,-

移动端WEB开发,click,touch,tap事件浅析

一.click 和 tap 比较 两者都会在点击时触发,但是在手机WEB端,click会有 200~300 ms,所以请用tap代替click作为点击事件. singleTap和doubleTap 分别代表单次点击和双次点击. 二.关于tap的点透处理 在使用zepto框架的tap来移动设备浏览器内的点击事件,来规避click事件的延迟响应时,有可能出现点透的情况,即点击会触发非当前层的点击事件. 处理方式: (1). github上有一个叫做fastclick的库,它也能规避移动设备上clic