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];
}
}
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。