2010-03-04 148 views

回答

2

如果你设置你的UIScrollViews只能在一个轴或另一个轴上滚动(例如,为它设置它们的contentSize属性,要让一个视图只能垂直滚动,请将其contentSize.width的值设置为其bounds.size.width)。那么他们应该工作,假设没有两个视图在同一个轴上滚动。通常情况下,您将有'子'视图垂直滚动,并且父视图水平滚动。

+0

主要的UIScrollView需要在所有方向上滚动,因为它是可缩放的。 – Jean 2010-03-05 00:17:23

1

如果完全可能,您应该重新设计以避免这种情况。 Safari通过使用两个手指滚动嵌入式视图来处理这种情况,即iframe和textareas。这不是很容易发现,但比替代方案更好,这会更令人沮丧。如果一个嵌入式视图几乎不在屏幕上,试图滚动外部视图可能会滚动内部视图,但不会显示任何东西;它似乎是不响应的。

也就是说,如果您仍想这样做,请尝试将外滚动视图的canCancelContentTouches设置为NO。这应该防止在内部视图中触摸开始时外部视图滚动。 Safari风格的双指滚动可能涉及子类UIScrollView并实施-touchesShouldBegin:withEvent:inContentView:方法。