关于事件的小结

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是个集合多点触摸的时候应该有两个触摸对象,但是每次都只返回一个)

时间: 2024-07-30 22:36:38

关于事件的小结的相关文章

android Touch事件传递小结

这次还是先贴上测试代码吧.. 主布局文件是个三层结构,最外层和中间层都是LinearLayout的子类,里层是个TextView: <com.example.touchevent.OutterLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/o

路由事件的小结

针对:<!--<Button x:Name="button1" Width="80" Height="80"    Button.Click="Button_Click"     Click="Button_Click"/>--> 小结1: <!--Button.Click="Button_Click"是安装方式,当前控件安装了Button.Click事件侦

JS事件模型小结

08年年初的一篇blog,转到这个博客上,想想当年跨浏览器真是一座山: 前几天看dojo的文档,其中多次提到DOM2事件模型,以前学习这部分的内容,主要愤慨于IE的不兼容性了,现在对于DOM2事件模型的概念又有些模糊,所以翻出了js权威指南(V4)又复习了一下,简单作一小结.       JS权威指南中将JS事件模型分为四种            1.原始事件模型:属性事件处理模式            2.标准事件模型:DOM2对其作了标准化            3.IE事件模型(IE5.5

继承PagerAdapter类需要重写五个方法和ViewPager的点击事件方法小结

继承PagerAdapter类需要重写五个方法: public int getCount() { return pages.size(); } 返回page的长度 public boolean isViewFromObject(View arg0, Object arg1) { return arg0==arg1; } 判断instantiateItem(ViewGroup container, int position)返回的要加载的pager对象是不是view视图,是则返回true并显示,不

jQuery移除或禁用html元素点击事件常用方法小结

移除或禁用html元素的点击事件可以通过css实现也可以通过js或jQuery实现. 一.CSS方法 .disabled { pointer-events: none; } 二.jQuery方法 方法一 $(this).click(function (event) { event.preventDefault(); } 方法二 $('a').live('click', function(event) { alert("抱歉,已停用!"); event.preventDefault();

【repost】JavaScript 事件模型 事件处理机制

什么是事件? 事件(Event)是JavaScript应用跳动的心脏 ,也是把所有东西粘在一起的胶水.当我们与浏览器中 Web 页面进行某些类型的交互时,事件就发生了.事件可能是用户在某些内容上的点击.鼠标经过某个特定元素或按下键盘上的某些按键.事件还可能是 Web 浏览器中发生的事情,比如说某个 Web 页面加载完成,或者是用户滚动窗口或改变窗口大小. 通过使用 JavaScript ,你可以监听特定事件的发生,并规定让某些事件发生以对这些事件做出响应. 今天的事件 在漫长的演变史,我们已经告

十三、C# 事件

1.多播委托 2.事件 3.自定义事件 在上一章中,所有委托都只支持单一回调. 然而,一个委托变量可以引用一系列委托,在这一系列委托中,每个委托都顺序指向一个后续的委托, 从而形成了一个委托链,或者称为多播委托*multicast delegate). 使用多播委托,可以通过一个方法对象来调用一个方法链,创建变量来引用方法链,并将那些数据类型用 作参数传递给方法. 在C#中,多播委托的实现是一个通用的模式,目的是避免大量的手工编码.这个模式称为 observer(观察者)或者publish-su

jquery事件总结

转:http://www.cnblogs.com/Jolinson/p/3479079.html#a1.3 JQuery攻略(四)事件 jQuery事件处理,鼠标的单击,双击,悬停,键盘按键,文本动画..... 此章节有 1.1被点击的按钮查找 1.2事件的自动触发 1.3点击之后禁用按钮 1.4鼠标事件 1.5焦点事件 1.6CSS的操作 1.7元素创建 1.8动画隐藏和展示 1.9效果 1.10键盘输入控制 1.11防止事件冒泡 小结 1.1被点击的按钮查找 一个页面上有很多按钮,对应不同的

第40课 拖放事件深度剖析

1. Qt中的拖放事件 (1)拖放一个文件进入窗口时将触发拖放事件 (2)每一个QWidget对象都能够处理拖放事件 (3)拖放事件的处理函数为 void dragEnterEvent(QDragEnterEvent* e); void dropEvent(QDropEvent* e); 2. 拖放事件中的QMimeData (1)QMimeData是Qt中的多媒体数据类 (2)拖放事件通过QMimeData对象传递数据 (3)QMimeData支持多种不同类型的多媒体数据 (4)常MIME类型