當事件傳遞到相應的UIResponder后,會首先調用:
hitTest:withEvent: return (UIView *)
UIApplication -> UIWindow
什么時候調用:當事件傳遞給一個控件的時候就會調用
作用:找最合適的viewhitTest:withEvent: return (UIView *)
1.看窗口是否能接收。 如果不能 return nil; 自己不能接收事件,也不能處理事件,而且也不能把事件傳遞給子控件。
2.判斷點在不在窗口上 如果點在窗口上,意味著窗口滿足合適的view
3.白色的view hitTest:withEvent: return nil
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
// 把左邊控件上的點轉換為右邊上邊控件的點
// CGPoint buttonPoint = [self convertPoint:point toView:_button];
// 從右邊這個view上的點轉換為坐標上的點
CGPoint buttonPoint =[_button convertPoint:point fromView:self];
if ([_button pointInside:buttonPoint withEvent:event]) return NO;return [super pointInside:point withEvent:event];
}