如何在叠加视图后面阻止UIGestureRecognizer?

时间:2017-10-18 20:15:43

标签: ios cocoa-touch uigesturerecognizer

我有一个复杂的视图层次结构,包含各种UIGestureRecognizer' s。

然后我呈现了一个叠加层UIView,如果用户与此叠加层互动,我想要触发放置在下面的任何手势识别器覆盖。例如,当前,拖动会导致手势识别器在叠加视图下方触发以触发。

我想避免任何导致潜在意大利面条代码的解决方案(例如,迭代视图层次结构并禁用手势识别器)。

类似的问题:

1 个答案:

答案 0 :(得分:0)

我能想到的唯一一种清洁解决方案是在叠加视图上添加所有类型的手势识别器,以便触发而不是下面的那些。

例如:

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