考虑下图中的视图层次结构:
OverlayView
只是一个控件视图,上面有一些自定义控件。它还具有多个点击/滑动手势识别器。 ScrollView
是需要根据与OverlayView
的互动滚动的滚动视图。 OverlayView
的框架与ScrollView
的框架相同。
我需要一种方法来添加为OverlayView
配置的某种滑动/平移手势设置,以便我可以滚动基础ScrollView
,就好像我正在与它进行交互一样。
似乎有两种不同的方法:
识别OverlayView
上的手势并将其传递给ScrollView
。但我不确定使用什么手势以及如何让ScrollView
与他们互动。
忽略OverlayView
上的所有触摸,除非它们在控件上。将这些触摸传递给基础ScrollView
。这似乎更简单的方法;但我不知道如何处理这个问题。
是否有人为某些项目提供过任何样本代码或者之前曾进行过类似的练习?如果没有,任何指针都是什么?
答案 0 :(得分:1)
选项2是我要推荐的。您可以在hitTest:withEvent:
上覆盖名为UIView
的方法。
您从中返回一个视图。因此,如果触摸需要进入滚动视图,则返回滚动视图。否则回归自我。