2017-10-18 163 views
0

我有一個複雜的視圖層次結構,各種各樣的UIGestureRecognizer's。如何阻止覆蓋視圖後面的UIGestureRecognizer?

我再提出一個覆蓋UIView如果用戶與重疊交互,我做希望任何手勢識別到被放置覆蓋火災。目前,例如,拖動會導致手勢識別器在重疊視圖下觸發以觸發。

我想避免任何導致潛在意大利麪代碼(例如遍歷視圖層次結構和禁用手勢識別器)的解決方案。

類似的問題(S):

+0

明顯的問題:那你試試?請搜索一下,我幾乎可以肯定這已經多次討論/回答了。 –

+0

@意義事項令人驚訝的是,我找不到任何合理的乾淨答案這個問題。至於我所嘗試的,可能不受歡迎,但我有目的地將其留在了不偏袒的地方;根據你的要求,我在下面發佈了一個可能的答案,以免污染問題空間(再次,可能不受歡迎,對不起!)。我只是想看看別人有什麼創意答案,因爲我在其他地方找不到任何干淨的答案。 – kgaidis

回答

0

唯一一種-的清潔解決方案,我能想到的是將所有類型的手勢識別上的重疊視圖所以那些人被解僱了,而不是下面的人。

例如:

overlayView.addGestureRecognizer(UIPanGestureRecognizer(target: nil, action: nil)) 
overlayView.addGestureRecognizer(UILongPressGestureRecognizer(target: nil, action: nil)) 
overlayView.addGestureRecognizer(UISwipeGestureRecognizer(target: nil, action: nil))