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

触摸事件传递与响应者链条

2016-06-20 23:17 309 查看
自己画了张图



触摸事件的传递和处理流程如图。

补充一下,在控件中事件的传递是从父控件传递到子控件。能处理事件的合适的控件被称为第一响应者(调用其touchesbegin/moved/end方法)。如果如果找不到合适的控件,那么window自己就是最适合处理的。

响应者对象

响应者对象的基类为UIResponder,它继承于NSObject,能响应事件。它的子类:UIApplication,UIViewController,UIWindow,UIView。这些子类的实例即为响应者对象。

响应者链条

所谓响应者链条,就是由上述的响应者对象所构成。

控件里调用super的touchesBegan方法,将事件传递的上一个响应者。上一个响应者依然可以调用[super touchesBegan ]继续传递事件,这样就构成了响应者链条。

总结

从大体上来看:触摸事件传递方向是从父控件到子控件,而响应者链条的构成则是子控件到父控件的方向。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS