响应者链
2015-11-23 18:07
232 查看
我们有没有想过屏幕是如何响应我们的触摸事件的?
我们假设点击了屏幕上的一个label
app是如何确定你点的是哪个view的哪?那么应该由谁来响应你的点击哪?
这就联系到了响应者链
响应者链解决了两个问题:
1 确定是哪个view -- 传递链(递归查找)
2 这个点击事件由谁来做?--响应链
iOS使用hit-Testing通过检查触摸点是否在关联的view边界内,如果在则递归地检查该view的所有子view
传递链:由系统向离用户最近的view传递。UIKit - window - 》root view -> lowest view
响应链:由离用户最近的view向系统传递。initial view - >super view ->...->view controller ->window ->Application
按照正常情况下,子类接收点击事件以后,事件不会主动传递到下一个响应者,因此父类便不会再接收点击事件。如果子类不处理点击事件,则事件会一直传递下去,知道UIApplication
我们假设点击了屏幕上的一个label
app是如何确定你点的是哪个view的哪?那么应该由谁来响应你的点击哪?
这就联系到了响应者链
响应者链解决了两个问题:
1 确定是哪个view -- 传递链(递归查找)
2 这个点击事件由谁来做?--响应链
iOS使用hit-Testing通过检查触摸点是否在关联的view边界内,如果在则递归地检查该view的所有子view
传递链:由系统向离用户最近的view传递。UIKit - window - 》root view -> lowest view
响应链:由离用户最近的view向系统传递。initial view - >super view ->...->view controller ->window ->Application
按照正常情况下,子类接收点击事件以后,事件不会主动传递到下一个响应者,因此父类便不会再接收点击事件。如果子类不处理点击事件,则事件会一直传递下去,知道UIApplication
相关文章推荐
- JS操作Cookie
- PHP页面之间跳转方法总结
- SCP 命令
- Java内功提升之数组
- 数据库重构工具实践总结
- IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)
- Http Invoker Service & Client
- ASP.NET 5 使用 TestServer 进行单元测试
- 面试题(二)
- jquery插件解读之tabs
- 小白发现的几个小技巧
- java 打包总结
- 将html5项目部署到tomcat上,并实现安卓手机访问
- 将html5项目部署到tomcat上,并实现安卓手机访问
- 详解shape标签
- 消息推送到通知栏目
- Java Calendar 类的时间操作
- 这个月熬过的夜和装过的逼//负能量勿点
- paxos分布式一致性算法--讲述诸葛亮的反穿越
- 将html5项目部署到tomcat上,并实现安卓手机访问