hitTest:WithEvent 和Responder Chain】的更多相关文章

这个方法是找到那个View被touch,当找到后就成为响应链的第一个了,如果他不能处理这个Event,那么就找nextResponder 直至application 如果不能处理,那就会丢弃掉. https://developer.apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/event_delivery_responder_chain/event_delivery_respo…
Event Delivery: The Responder Chain  事件分发--响应链 When you design your app, it’s likely that you want to respond to events dynamically. For example, a touch can occur in many different objects onscreen, and you have to decide which object you want to re…
当我们设计app的时候,我们很可能想动态的响应事件.例如,触摸一个拥有许多不同对象的屏幕,你要决定给哪个对象一个响应事件,怎么样对象接收到事件. 当一个用户产生事件发生时(如 点击),UIKit产生一个对象,这个包含要被处理的对象的信息.接着把事件对象放到active app's(一个application对象,负责初始化用户事件路由.从全局管理一个运行的application)事件队列中.对于触摸事件,这个对象是一组触摸,打包放在UIEvent对象.对motion事件而言,事件对象根据你使用框…
一.事件分类 对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕.晃动设备.通过遥控设施控制设备.对应的事件类型有以下三种: 1.触屏事件(Touch Event) 2.运动事件(Motion Event) 3.远端控制事件(Remote-Control Event) 今天以触屏事件(Touch Event)为例,来说明在Cocoa Touch框架中,事件的处理流程.首先不得不先介绍响应者链这个概念: 二.响应者链(Responder Chain) 先来说说响应者对象(Respond…
此方法可实现点击穿透.点击下层视图功能. 一. hitTest:withEvent:调用过程 iOS系统检测到手指触摸(Touch)操作时会将其放入当前活动Application的事件队列,UIApplication会从事件队列中取出触摸事件并传递给key window(当前接收用户事件的窗口)处理,window对象首先会使用hitTest:withEvent:方法寻找此次Touch操作初始点所在的视图(View),即需要将触摸事件传递给其处理的视图,称之为hit-test view. wind…
事件类型(Event Type) iOS 有三种事件类型: 触控事件(UIEventTypeTouches):单点.多点触控以及各种手势操作: 传感器事件(UIEventTypeMotion):重力.加速度传感器等: 远程控制事件(UIEventTypeRemoteControl):远程遥控iOS设备多媒体播放等:   响应者对象(Responder Object) responder object 是能够响应并处理事件的对象,是构成响应链和事件传递链的节点. 举个栗子,当手指去触摸屏幕上 UI…
2017.05.08 20:40* 字数 1306 阅读 740评论 6喜欢 9 工作接近一年,很久没有更新博客.工作中学到很多知识点后面将花时间整理,作为对一年知识学习的总结: 下面是本篇博客的写作思路: iOS-Responder Chain.png 人与计算机交互 目前计算机在我们生活中扮演很重要的角色,我们与计算机之间的交互也很普遍.多数情况使用最多的是 PC 和 移动端,而两种交互方式有很大的不同 PC 与人的交互 移动端与人的交互 a) 在 PC 端我们通过键盘.鼠标等来对界面的内容…
Event Delivery: The Responder Chain 事件传递:响应链 When you design your app, it’s likely that you want to respond to events dynamically. For example, a touch can occur in many different objects onscreen, and you have to decide which object you want to resp…
*当用户点击屏幕时,会产生一个触摸事件,系统会将触摸事件加入到 UIApplication管理事件队里中 *UIApplication 会从事件队列中取出最前面的事件进行分发以便处理,通常,先发送事件给应用程序主窗口(UIwindow0 *主窗口会调用 hitTest:withEvent:方法在视图(UIView)层次结构中找到一个最合适的 UIView来处理触摸事件 (hitTest:LwithEvent:其实是 UIView 的一个方法UIWindow 继承自 UIView,因此主窗口UIW…
关于响应者链部分的基础内容 参考http://www.cnblogs.com/wendingding/p/3795171.html 这里我要说明的是 关于- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event; 这个方法的使用 响应者链中的响应过程如下: UIApplication -> Window ->递归找到处理事件的控件->控件调用touches方法 -> 判断是否实现了touch 方法 ->如果没有…