响应者链 形象的理解
来源:互联网 发布:网络组织结构 编辑:程序博客网 时间:2024/05/16 04:13
1.Runloop会检测到屏幕的点击事件,然后分发事件(RunLoop相当于项目主管,把这个事情交给最合适的对象去处理,)
2.通过hitTest(返回最适合处理该事件的view) 及 pointInside(判断传过来的点是否在检测的view上) 找到最合适的view
3.事件的传递过程:Runloop-->UIApplication-->UIWindow-->RootViewController-->View-->递归的遍历View的子View(倒序)
4.找到最合适的处理该事件的view后,就会再去查找处理该事件的方法.按以上的顺序从后往前查找.
响应者链的特点:
响应者链通常是由视图构成的
一个视图的下一个响应者是他的视图控制器(如果有的话),然后再转给他的父视图
视图控制器的下一个响应者为其管理的视图的父视图
单例的窗口(UIWindow)的内容视图将指向窗口本身作为他的下一个响应者
单例的应用(UIApplication)是一个响应者链的终点,他的下一个响应者指向nil,以结束整个循环
如何 形象的去说明?
最开始就是RunLoop检测到屏幕点击,我们把Runloop可以看成是一个项目经理,检测到屏幕点击事件就相当于它接到了一个新项目,那接下来就需要寻找这个项目的负责人,怎么寻找呢,也就是要把该点击事件按能力大小顺序传递下去,一个个的考察,是否有能力做这个项目,如果中间考察到这个人已经能力不足以完成这个项目了,那同样排在它后面的人也就不需要再考察了,此时它的上一个人就是最适合的view.但是找到最适合的view之后还需要找到能响应该事件的方法,杀鸡焉用宰牛刀,那从最经济的角度考虑,当然是从以上的寻找顺序反过来找,一直找到UIApplication,如果还没找到,该事件就会被丢弃.也就是该项目就不能立项了.如果中间找到了一个能响应这个事件的方法,那项目就交给他去做就好了.
1.Runloop会检测到屏幕的点击事件,然后分发事件(RunLoop相当于项目主管,把这个事情交给最合适的对象去处理,)
2.通过hitTest(返回最适合处理该事件的view) 及 pointInside(判断传过来的点是否在检测的view上) 找到最合适的view
3.事件的传递过程:Runloop-->UIApplication-->UIWindow-->RootViewController-->View-->递归的遍历View的子View(倒序)
4.找到最合适的处理该事件的view后,就会再去查找处理该事件的方法.按以上的顺序从后往前查找.
响应者链的特点:
响应者链通常是由视图构成的
一个视图的下一个响应者是他的视图控制器(如果有的话),然后再转给他的父视图
视图控制器的下一个响应者为其管理的视图的父视图
单例的窗口(UIWindow)的内容视图将指向窗口本身作为他的下一个响应者
单例的应用(UIApplication)是一个响应者链的终点,他的下一个响应者指向nil,以结束整个循环
如何 形象的去说明?
最开始就是RunLoop检测到屏幕点击,我们把Runloop可以看成是一个项目经理,检测到屏幕点击事件就相当于它接到了一个新项目,那接下来就需要寻找这个项目的负责人,怎么寻找呢,也就是要把该点击事件按能力大小顺序传递下去,一个个的考察,是否有能力做这个项目,如果中间考察到这个人已经能力不足以完成这个项目了,那同样排在它后面的人也就不需要再考察了,此时它的上一个人就是最适合的view.但是找到最适合的view之后还需要找到能响应该事件的方法,杀鸡焉用宰牛刀,那从最经济的角度考虑,当然是从以上的寻找顺序反过来找,一直找到UIApplication,如果还没找到,该事件就会被丢弃.也就是该项目就不能立项了.如果中间找到了一个能响应这个事件的方法,那项目就交给他去做就好了.
- 响应者链 形象的理解
- 托管形象的理解
- RBM的形象理解
- 四元数的形象理解
- 卷积的形象理解
- 工厂模式的形象理解
- 关于delegate的形象理解
- 形象的去理解ERP
- 对于张量的形象理解
- RGB图的形象理解
- 形象理解python的lambda
- 三极管形象经典的理解
- 事件响应者链的理解
- 关于颜色的透明度的形象理解
- 关于多维数组的“不形象”理解
- 形象的理解dup和dup2函数
- 理解Facebook的时间线:形象储存库
- iOS strong 和weak的形象理解
- 成为大神之路---学会编写Android Studio插件 别停留在用的程度了
- android 切换系统语言,输入法也随之切换
- Leetcode: Merge Intervals
- 在iOS上实现一个简单的日历控件
- eclipse安装SVN报错
- 响应者链 形象的理解
- 使用css3 box-reflect设计倒影效果
- Contains方法,查看序列中是否包含某个元素
- VS2005 debug版本正常而release版本出现: ERROR LNK2005
- codeforces_675C. Money Transfers(贪心)
- javascript 操作cookie
- jdk之Interger.toString(int i, int radix)
- 基本排序算法时间复杂度
- Iwfu-安卓Gesture手势(1)-初步