2010-09-02 11 views
7

想知道是否有人寫過或碰到過一種很好的方式來登錄到控制檯的觸摸發生的視圖。我知道touchesEnded:可以實現,但我的問題是,神祕的東西阻擋了我的觀點,我不知道它是什麼。我只想知道什麼是攔截觸摸。iOS - 調試工具來檢測觸摸感

我想記錄到控制檯:

「觸摸發生在視圖:nameOfSomeUIView」

回答

14

每個UITouch對象具有描述爲一個視圖屬性「其中所述觸摸最初發生的圖。」您可以繼承UIWindow並覆蓋sendEvent方法。在執行sendEvent時,您可以撥打[super sendEvent: event],之後檢查屬於該事件的所有觸摸的視圖屬性。

作爲常規提示: 如果您的UITouches行爲不符合預期,請檢查您的意見的hitTest方法。您可以重寫此方法以查看哪個視圖應該接受觸摸。

+0

我有分類的UIWindow,並在App Delegate中使用了子類型。我在子類中實現了 - (void)sendEvent:(UIEvent *)事件,但它永遠不會被調用。 – sol 2010-09-02 21:47:41

+0

其實從頭開始,我現在正在接收sendEvent。你能建議如何找到哪個視圖被觸摸? – sol 2010-09-02 21:57:35

+0

找出如何將觸摸從UIEvent中拉出。我可以獲取被觸摸視圖的內存地址。如果我能得到它的名字會很好。 – sol 2010-09-02 22:15:19