2009-05-26 74 views

回答

9

UIScrollView有一个名为scrollEnabled的属性,您可以将其设置为NO以禁用父滚动视图中的滚动。

我还没有尝试过,但你可能会发现它正确的事情,即内部滚动视图滚动,直到它不能再滚动,此时外部滚动视图滚动。

+0

嗨hatfinch,我不知道如何防止默认行为“内滚动视图滚动,直到它不能再滚动,在这一点上外滚动视图滚动”?我希望当用户滚动内部视图时,即使内部视图滚动到结尾,外部视图也可以保留。 – Hampotato 2016-05-30 08:21:56

0

我这样做,它确实会导致滚动视图家长不要将不再滚动这是很好的我的孩子滚动视图,其经presentModalViewController推还是不响应滚动事件(例如,滚动或上下)。我明显错过了一些东西......

编辑:得到它最后通过在父视图上使用'scrollEnabled'工作。谢谢。

0

我有同样的问题,直到我设置动态足够的高度内滚动型的contentSize,使用:

[scrollView setContentSize:CGSizeMake(scrollView.frame.size.width,600)]; 

显然,这仅仅是一个硬编码的例子,你应该设置为显示整个所需要的高度视图的内容,最后还可能不需要滚动。

看来,设置使用IBuilder的scrollView的高度是不够的,所以不需要滚动,这就是为什么我认为扫描事件没有达到内滚动。

希望这会有所帮助!

1

这是非常可能的。最简单的方法是禁用scrollEnabled属性,您也可以尝试将外部UIScrollViewcontentSize设置为其界限,以便它不会滚动。根据你的需要,你可以将No设置为bounce,但这基本上会使你的滚动视图像一个普通的UIView。

如果你能控制的所有子UIScrollView的,可以实现UIScrollViewDelegate协议,但如果你不这样做,或者你的孩子UIScrollView确实是一个UITableView,或UICollectionView,那么你就不能真正依靠的UIScrollViewDelegate协议,但请记住UIScrollView附带panGestureRecognizer,你可以玩。一个强大而又笨重的方法是在panGestureRecognizerstate属性上添加一个观察者,以便您可以捕获所有事件,而不会成为UIScrollView的代表。