2012-05-25 50 views
0

我正面臨處理觸摸事件的微妙問題。這可能不是通常的東西,但我認爲這是可能的。我只是不知道如何...黑客ios ui響應者鏈

我有一個主視圖(A)和主視圖(B)有很多子視圖1,2,3,4,5,......

MainView 
SubView(A) 
    1 
    2 
    3 
SubView(B) 
    1 
    2 
    3 

其中一些子子視圖(1,2,4)是滾動視圖。

它發生了,我想用兩個手指鍋在A和B之間轉換。

我試圖將一個UIPanGestureRecognizer附加到MainView,但滾動視圖取消觸摸,它只有時有效。

我需要一個一致的方法來首先捕獲觸摸,檢測它是否是雙指平底鍋,然後才決定它是否會通過觸摸向下(或向上......我不確定)響應鏈。

我試圖創建一個頂級視圖來處理這個問題,但是我不能讓這個視圖通過觸摸傳遞。

我發現很多人有類似的問題,但無法從他們的解決方案中找到解決方案。

如果有人能給我一個燈,那將是很棒的,因爲我已經絕望了。

回答

0

您可以創建頂級視圖來捕捉觸摸和觸摸的座標,然後您可以檢查觸摸的座標是否在子視圖內。您可以使用

BOOL CGRectContainsPoint(CGRect rect, CGPoint point) 

方法。 Rect是一個觀點的框架,並且指向是觸摸點。

請注意,幀和觸摸位置與其超級視圖相關,因此您需要將它們轉換爲應用程序窗口的座標系。

或者,也許它可以提供更多的幫助

Receiving touch events on more then one UIView simultaneously