iOS--响应者链条

响应者链条是用来把事件往上抛

1.把事件回传回去

#import "RedView.h"
@implementation RedView

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSLog(@"RedView-----touchesBegan");
    [super touchesBegan:touches withEvent:event];
}
@end

2.事件的完整过程;
1.先将事件对象由上往下传递(父到子),找到最合适的控件来处理这个事件。
2.调用最合适控件的touches…方法。
3.如果调用了[super touches]就会将事件顺着响应者链条往上传递,传递给上一个响应者。
4.接着就会调用上一个响应者的touches…方法。

3.什么是响应者链条
1.响应者链条 是由多个响应者对象连接起来的链条(什么事响应者对象;能处理事件的对象)
2.利用响应者链条,能让多个控件处理同一个触摸事件

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

5.事件对象是UIEvent。

你可能感兴趣的:(响应者链条,iOS)