一、查找响应者
前面事件传递找到了响应的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);
}
时间: 2024-10-02 19:56:26