- 作用:專門來尋找最合適的view
- 什么時(shí)候調(diào)用:當(dāng)一個(gè)事件傳遞給當(dāng)前的View時(shí)候調(diào)用.
- 返回誰,誰就是最合適的View
-(UIView *)hitTes:(CGPoint)point withEvent:(UIEvent *)event
{
//判斷自己是否能接受事件
if (self.userInteractionEnabled == NO || self.hidden == YES || self.alpha <= 0.01)
{
return nil:
}
// 判斷當(dāng)前點(diǎn) 在不在自己身上.
if (![self pointInside:point withEvent:event]) {
return nil;
}
// 查看自己是不是最合適的view,從后往前遍歷自己的子控件.
int count = (int)self.subviews.count;
for (int i = count -1 ; i >= 0; i--) {
UIView *childView = self.subviews[i];
CGPoint childP = [self convertPoint:point toView:childView];
UIView *view = [childView hitTest:childP withEvent:event];
if (view) {
return view;
}
}
return self;
}
hitTest方法的實(shí)現(xiàn)原理
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
推薦閱讀更多精彩內(nèi)容
- 1. iOS中的事件可以分為3大類型:觸摸事件、加速事件、遠(yuǎn)程控制事件 2.按照時(shí)間順序,事件的生命周期是這樣的:...
- 本文來自:http://ios.jobbole.com/84081/ 前言: 按照時(shí)間順序,事件的生命周期是這樣的...
- 如果這篇文章幫助到了您,希望您能點(diǎn)擊一下喜歡或者評(píng)論,你們的支持是我前進(jìn)的強(qiáng)大動(dòng)力.謝謝! 觸摸事件(Multit...
- 廢話不多說,直接上干貨 ---------------------------------------------...
- 1、禁止手機(jī)睡眠[UIApplication sharedApplication].idleTimerDisabl...