码迷,mamicode.com
首页 > 其他好文 > 详细

响应者链条(事件的传递)(复习笔记)

时间:2015-07-24 22:27:34      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

1、如果父控件不能接收触摸事件,那么子控件就不可能接收到触摸事件。

2、在以下几种情况下,控件是不能接收触摸事件

  1.不接收用户交换  userInteractionEnable= NO;

  2.隐藏 hiden = YES;

  3.透明 alpha = 0.0 ~ 0.01;

提示:UIImageView的userInteractionEnable默认为NO,因此UIImageView以及他的子控件默认不接收触摸事件。

 

3、事件的完整处理过程

技术分享

  1.先将事件对象由上往下传递(由父控件传递给子控件),找到最合适的控件来处理这个事件(假如点击了绿色的) (如上图:白-->红 --->绿)

  2.调用最合适的控件 touches....(begin.. moving ... end... )方法

  3.如果调用了 [super touches...]方法,则事件将会顺着响应者链条往回传递,传递给上一个响应者(能处理事件的控件)

  4.接着就会调用上一个响应者的  touches....(begin.. moving ... end... )方法

  5.如果这个响应者又调用了  [super touches...]方法,则继续往上传,知道那个没有调用  [super touches...]方法的控件时候才停止

4、上一个响应者

  1.如果当前这个view是控制器的view,那么控制器就是上一个响应者

  2.如果当前这个view不是控制器的view,那么父控件就是上一个响应者。

解释:比如点击了蓝色,如果蓝色的时控制器,则此时蓝色就是上一个响应者,如果蓝色的view不是控制器的view,此时的上一个响应者是红色(红色为蓝色的父控件)

5、什么是响应者链条

  1.响应者链条是由很多响应者对象构成的链条

链条的作用:当点击了某一个view的时候,view将这一个事件处理完毕,还有可能会将这个事件传递给他的上一个响应者,还可能往上继续传递

响应者链条(事件的传递)(复习笔记)

标签:

原文地址:http://www.cnblogs.com/cjt5132/p/4674315.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!