每个View中含有这两个方法
- (nullable UIView *)hitTest:(CGPoint)point withEvent:(nullable UIEvent *)event; // recursively calls -pointInside:withEvent:. point is in the receiver's coordinate system
- (BOOL)pointInside:(CGPoint)point withEvent:(nullable UIEvent *)event; // default returns YES if point is in bounds
一个是根据点击坐标返回事件是否发生在本视图以内,另一个方法是返回响应点击事件的对象
UIApplication对象维护自己的一个响应者链,从nextResponder中返回View 根据View中pointInside返回yes的时候,响应者入栈。栈顶的响应者作为最优先处理事件对象
网友评论