hitTest:withEvent:方法的處理流程如下:
首先調(diào)用當(dāng)前視圖的pointInside:withEvent:方法判斷觸摸點(diǎn)是否在當(dāng)前視圖內(nèi);
若返回NO,則hitTest:withEvent:返回nil;
若返回YES,則向當(dāng)前視圖的所有子視圖(subviews)發(fā)送hitTest:withEvent:消息,所有子視圖的遍歷順序是從top到bottom艘绍,即從subviews數(shù)組的末尾向前遍歷,直到有子視圖返回非空對象或者全部子視圖遍歷完畢嚷量;
若第一次有子視圖返回非空對象,則hitTest:withEvent:方法返回此對象孩革,處理結(jié)束掂摔;
如所有子視圖都返回非,則hitTest:withEvent:方法返回自身(self)杨箭。