在滚动视图之间传递触摸事件

时间:2013-08-05 14:51:14

标签: ios objective-c uiscrollview

我想在另一个ScrollView中添加几个ScrollViews,这样我就可以在外部ScrollView中垂直滚动并在每个内部ScrollView中水平滚动。如果我在垂直方向上直接添加水平ScrollViews一切正常,但如果我在容器视图中添加水平ScrollViews,则垂直触摸不会传递到垂直方向。我已经仔细检查了所有ScrollView中的contentSize,它们是正确的。

这有效

UIScrollView (vertical scroll)
 |
 --UIScrollView (vertical scroll)
 |
 --UIScrollView (vertical scroll)

这不起作用

UIScrollView (vertical scroll)
 |
 -- UIView
    |--UIScrollView (vertical scroll)
 |
 -- UIView
    |--UIScrollView (vertical scroll)

如果我触摸容器视图而不是子滚动视图,我可以在此布局中滚动外部滚动视图。

为了让事情变得更有趣,我注意到问题只发生在iPad而不是iPhone上。

我可以将容器视图子类化,以便将触摸事件传递给superview吗?

1 个答案:

答案 0 :(得分:0)

问题是我在两个scrollView上都启用了分页,并且它是冲突的。我通过在外部scrollView上禁用分页并使用scrollDelegate实现它来解决它。