2011-01-19 125 views
0

我有一個快速問題,從觸摸事件中獲取視圖

我有一個視圖有多個子視圖。

在我看來,我已經開始接觸等。

有沒有辦法來檢索觸摸子視圖開始,而不必從觸摸檢測的位置,然後有一個很大的if else到C該子視圖在那個特定的區域。

謝謝。

回答

0

我的解決方案是不是從超級視圖計算觸摸位置。對子視圖進行子類分類並僅在那裏獲取觸摸位置形式,並將該點相對於超級視圖進行轉換。

+0

謝謝,但是當你的意思是子類,你的意思是我應該從子視圖捕獲觸摸事件? – user281300 2011-01-19 13:10:50

+0

是的,從子類獲取觸摸點後,將該點轉換爲超級視圖並更改子視圖的原點。 – YPK 2011-01-19 13:29:32

0

你想要的方法是UIView實例方法-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event。這將返回包含point的最低級子視圖。

所以,你得到了你的觸摸點,將它傳遞給你最大的容器UIView的方法,並獲得觸摸的最前面的子視圖的句柄。十分簡單。