UIScrollView在覆盖视图上使用手势滚动

时间:2015-07-12 22:26:04

标签: ios uiscrollview

考虑下图中的视图层次结构:

enter image description here

OverlayView只是一个控件视图,上面有一些自定义控件。它还具有多个点击/滑动手势识别器。 ScrollView是需要根据与OverlayView的互动滚动的滚动视图。 OverlayView的框架与ScrollView的框架相同。

我需要一种方法来添加为OverlayView配置的某种滑动/平移手势设置,以便我可以滚动基础ScrollView,就好像我正在与它进行交互一样。

似乎有两种不同的方法:

  1. 识别OverlayView上的手势并将其传递给ScrollView。但我不确定使用什么手势以及如何让ScrollView与他们互动。

  2. 忽略OverlayView上的所有触摸,除非它们在控件上。将这些触摸传递给基础ScrollView。这似乎更简单的方法;但我不知道如何处理这个问题。

  3. 是否有人为某些项目提供过任何样本代码或者之前曾进行过类似的练习?如果没有,任何指针都是什么?

1 个答案:

答案 0 :(得分:1)

选项2是我要推荐的。您可以在hitTest:withEvent:上覆盖名为UIView的方法。

您从中返回一个视图。因此,如果触摸需要进入滚动视图,则返回滚动视图。否则回归自我。