hitTest: withEvent:方法
- 事件传递的时候调用
- 当事件传递给控件的时候,就会调用控件的这个方法,去寻找最合适的view
- 作用:寻找最合适的view
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
// 调用系统的做法去寻找最合适的view,返回最合适的view
UIView *fitView = [super hitTest:point withEvent:event];
return fitView;
}
pointInside:withEvent:方法
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
return YES;
}
使用场景
- 经常使用的:当两个控件有重叠,需要将事件判断是哪一个控件执行的时候
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
// 当前坐标系上的点转换到按钮上的点
CGPoint btnF = [self.btn convertPoint:point fromView:self];
// 判断点在不在按钮上
if ([self.btn pointInside:btnF withEvent:event]) {
// 点在按钮上
return self.btn;
}else{
return [super hitTest:point withEvent:event];
}
}