2017-10-18 104 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))