触摸事件之响应者链

一、查找响应者

前面事件传递找到了响应的UIView后,要调用Touch方法,它的顺序类似树的父节点的查找。

在事件传递中找到了响应的UIView,判断该UIView是否实现了Touch方法,如果实现就调用,该触摸事件结束,如果未实现,则找它的上一个响应者?

原则:

1.判断当前是否是控制器的View, 如果是控制器的View上一个响应者就是控制器

2.如果当前不是控制器的View,上一个响应者就是父控件

触摸事件之响应者链

二、响应者链的作用

正常情况,响应事件被一个响应者截获之后响应不再往下。如果想上一级响应者响应可以调用

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

    [super touchesBegan:touches withEvent:event];

    NSLog(@"%@" , self.class);

}

 

你可能感兴趣的:(事件)