事件传递:通过选择UIApplication 传递到对应window上然后,然后找到当前显示控制器,倒序遍历subViews,使用【hitest:withEven:】得到frame是哪个view的事件。最佳的View必须符合Alph大于0.01或者不是隐藏或者用户交互关闭
事件响应:从最佳响应这传递到UIapplication。前提是
- (void)touchesBegan:(NSSet *)toucheswithEvent:(nullableUIEvent*)event;
- (void)touchesMoved:(NSSet *)toucheswithEvent:(nullableUIEvent*)event;
- (void)touchesEnded:(NSSet *)toucheswithEvent:(nullableUIEvent*)event;
- (void)touchesCancelled:(NSSet *)toucheswithEvent:(nullableUIEvent*)event;
没有被重写或者没有被添加手势。
假如添加了手势也将不会被传递给下一个响应者。继承于UIControl 的控件以上4个方法都被内部重写了的。
网友评论