2015-07-03 63 views
0

我的應用程序有一個滑出式導航設置,其中呈現的視圖(左和中)都是child view controllersmain view controller.現在我試圖在child view controller的視圖中顯示的UIView內使用放大鏡。然而,child view controllermain view controller都具有手勢識別器。如何設置UIView作爲觸摸的唯一接收者?

我希望在所需的UIView上設置exclusiveTouch爲真,但它完全沒有。 當我想要包含的UIView只能接收它們時,我怎樣才能讓我的應用程序處於這樣的狀態:main view controllerchild view controller都不會收到這些觸摸(我在考慮關閉/關閉按鈕)?我需要的東西可以包含在一個方法中,而不是取決於我的整個架構。感謝您的任何建議

p.s.我很高興提供代碼,但它會有很多代碼來顯示幻燈片控制器的實現等。我很高興發佈任何請求。

回答

0

不知道這是否會工作......但你可以嘗試添加了處理程序,沒有做任何事情的mainViewController.viewchildViewController.view當你進入exclusiveTouch狀態,那麼可以肯定,當刪除它,你退出一個TapGestureRecognizerexclusiveTouch狀態。

我相信UIView上最頂端的手勢識別器是在該視圖上路由所有手勢的手勢識別器,所以這應該保持手勢不被拾取並由堆棧中較低的其他識別器處理。

試試這個,讓我知道它是如何工作的。

+0

感謝您的建議。我沒有使用這個,但它讓我意識到我應該關掉我的手勢識別器,而不是試圖毆打他們或首先捕捉觸摸。 –

0

最簡單的解決方案是禁用所有手勢識別器,不會改變其他任何東西。然後UIView確實捕捉到了觸動。