博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于事件的小结
阅读量:5298 次
发布时间:2019-06-14

本文共 1061 字,大约阅读时间需要 3 分钟。

1、关于手势识别

Gesture Recognizers是一类手势识别器对象,它可以附属在你指定的View上,并且为其设定指定的手势操作,例如是点击、滑动或者是拖拽。当触控事件 发生时,

设置了Gesture Recognizers的View会先通过识别器去拦截触控事件,如果该触控事件是事先为View设定的触控监听事件,那么Gesture Recognizers将会发送动作消息给目标处理对象,目标处理对象则对这次触控事件进行处理。

在一个view中重写了touchBegin和touchEnd 添加了单击手势识别,那么手势识别会拦截touch消息,touchBegin会打印,但是touchEnd由于被拦截所以没有打印。

添加一个滑动手势识别,同样是有touchBegin和touchMove打印而没有touchEnd。

 

在一个button上也添加一个单击手势,是响应button的点击事件还是响应手势识别事件呢?

button的点击事件其实也是由touchBegin和touchEnd来实现的,根据上个分析,手势识别是会拦截touchBegin和touchEnd的,所以只会响应手势识别的事件。

 

2、关于touch触摸事件的参数

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

在屏幕上的每一次动作事件都是一次Touch,在iOS中用UITouch对象表示每一次的触控,多个Touch组成一次Event,用UIEvent来表示一次事件对象。

    NSArray *arrayTouches = [event.allTouches allObjects];

    UITouch *aTouch = [arrayTouches objectAtIndex:0];

    

    UITouch * bTouch = [touches anyObject];

    if (aTouch == bTouch) {

        NSLog(@"same touch");

    }

在touches中的touch对象和在event中的对象是同一个,一般单击的时候用touches 多点触摸的时候用event(按照理解touches是个集合多点触摸的时候应该有两个触摸对象,但是每次都只返回一个)

posted on
2015-09-02 10:21 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/HypeCheng/p/4777824.html

你可能感兴趣的文章
Data Structure Binary Tree: Lowest Common Ancestor in a Binary Tree
查看>>
java第二次作业
查看>>
Java 9 揭秘(14. HTTP/2 Client API)
查看>>
麦包包也看到了个性化推荐:数据驱动销售——个性化推荐引擎
查看>>
[原]NYOJ-子串和44
查看>>
django常用模板语言
查看>>
MySql数据库操作命令
查看>>
教科书般的亵渎题解
查看>>
Bing Maps进阶系列四:路由功能服务(RouteService)
查看>>
C++让类只在堆或栈上分配
查看>>
Nginx的配置文件简介及在Nginx中配置基于不同ip的虚拟主机
查看>>
Eclipse启动项目正常,放到tomcat下单独启动就报错的 一例
查看>>
linux和unix下crontab的使用
查看>>
re方法
查看>>
android sdk
查看>>
简洁明了的Noip考场策略 / 平时做题也适用
查看>>
关于指数循环节的证明
查看>>
org.apache.log4j与org.apache.commons.logging这两个包有什么区别
查看>>
原生JS实现雪花特效
查看>>
python 排序冒泡排序与双向冒泡排序
查看>>