如下圖所示,我的應用程序有幾個UIViews,B
,C
和D
,並排,並且所有包含在包封的UIView A
:檢測手勢上重疊的屏幕區域中的iOS5
我在B
,C
和D
的每一箇中都有UIPinchGestureRecognizer
。我還想做的是在整個區域A
(不妨礙其他手勢識別器工作)上識別不同的手勢。
這是最好的策略是什麼?我針對的是iOS5 +,無需向後兼容。
還值得注意的是,A
的手勢識別器可能必須是自定義手勢識別器,因爲我想檢測一個捏,但涉及> 2個手指。
思想:
如果安裝了A
手勢識別器無法正常工作,有可能通過使用touchesBegan
等作爲UIResponder
docs筆記做舊的方式,你可以有一個子類UIView
只需撥打[super touchesBegan:touches withEvent:event]
即可讓其在響應者鏈中傳遞,如果您對此觸摸不感興趣。
感謝您的回答。點擊測試哪些組件/代碼?使用哪種技術? (如touchesBegan等)? – occulus 2012-04-16 07:45:47
我沒有可以發佈的代碼,但我會盡力解釋。 使用Touches作爲初始觸摸識別,並將GestureRecognizes用作識別組件內部觸摸的輔助處理程序。 初次觸摸打擊測試整個屏幕。循環遍歷所有元素,並找出它們中的哪些位於觸摸的座標中。所以如果你觸摸B,循環應該找到B和A,因爲二者都在接觸座標內。然後,您可以禁用/啓用衝突的GestureRecognizes,並在手勢完成後啓用它們。 – 2012-04-16 11:05:51