簡體   English   中英

如何將UIView設置為唯一的觸摸接收器?

[英]How can I set a UIView to be the only receiver of touches?

我的應用程序有一個滑出式導航設置,其中顯示的視圖(左和中)都是main view controller. child view controllers main view controller. 現在,我試圖在child view controller的視圖內顯示的UIView使用放大鏡。 但是, child view controllermain view controller都具有手勢識別器。

我希望設置exclusiveTouch到真正所需UIView會做的伎倆,但它不是在所有。 當我希望包含的UIView僅接收它們時,如何將我的應用程序置於一種狀態,使得main view controllerchild view controller都不會接收到這些觸摸(我正在考慮關閉/關閉按鈕)? 我需要可以包含在一種方法中的東西,而不是破壞我的整個體系結構。 感謝您的任何建議

ps我很高興提供代碼,但是要顯示滑出控制器的實現等會很多代碼。很高興發布任何要求的信息。

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

我相信UIView上最頂層的手勢識別器是路由該視圖上所有手勢的手勢識別器,因此這應該防止該手勢被堆棧中其他識別器拾取和處理。

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

最簡單的解決方案是禁用所有手勢識別器,而不更改其他任何東西。 然后, UIView確實捕獲了觸摸。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM