您的位置:首页 > 移动开发 > IOS开发

iOS-响应者链条

2015-09-10 14:39 246 查看
响应者链条
事件处理:点击屏幕时
1先将事件对象由上往下传递(父控件—>子控件),找到最合适的控件来处理事件
2调用最合适控件的处理方法
3如果控件的处理方法调用的[supe 事件处理];就会将事件顺着响应者链条上传
4接着就会调用上一个响应者的处理方法

最合适的控件:
1自己是否接受这个事件
2事件触发点是否在自己的Frame范围内
3从后往前遍历子控件,按照1/2步骤对子控件判断

下一个响应者:
1看当前这个UIView是控制器的View,那么控制器就是上一个响应者
2如果当前这个UIView不是控制器的View,那么父控件就是上一个响应者
3找到上一个响应者,按照1/2步骤对上一个响应者判断

什么是响应者链条?
1是由多个响应者对象连接起来的链条(响应者对象-能处理事件的对象)
2利用响应者链条,能让多个控件处理同一个触摸事件
3怎么利用链条往上传递?谁是下一个响应者?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息