如何在UIScrollView中嵌套UIScrollView,以便用户可以滚动内部UIScrollView?
我还没有尝试过,但我认为我将不得不禁用滚动的父滚动视图,只要我知道用户将要滚动的子滚动视图,对不对?如何在UIScrollView中嵌套UIScrollView,以便用户可以滚动内部UIScrollView?
两个滚动视图都是水平滚动的。
我怎样才能暂时禁用父母的滚动检测?或者有其他方法吗?
UIScrollView有一个名为scrollEnabled
的属性,您可以将其设置为NO
以禁用父滚动视图中的滚动。
我还没有尝试过,但你可能会发现它正确的事情,即内部滚动视图滚动,直到它不能再滚动,此时外部滚动视图滚动。
我这样做,它确实会导致滚动视图家长不要将不再滚动这是很好的但我的孩子滚动视图,其经presentModalViewController推还是不响应滚动事件(例如,滚动或上下)。我明显错过了一些东西......
编辑:得到它最后通过在父视图上使用'scrollEnabled'工作。谢谢。
我有同样的问题,直到我设置动态足够的高度内滚动型的contentSize,使用:
[scrollView setContentSize:CGSizeMake(scrollView.frame.size.width,600)];
显然,这仅仅是一个硬编码的例子,你应该设置为显示整个所需要的高度视图的内容,最后还可能不需要滚动。
看来,设置使用IBuilder的scrollView的高度是不够的,所以不需要滚动,这就是为什么我认为扫描事件没有达到内滚动。
希望这会有所帮助!
这是非常可能的。最简单的方法是禁用scrollEnabled
属性,您也可以尝试将外部UIScrollView
的contentSize
设置为其界限,以便它不会滚动。根据你的需要,你可以将No设置为bounce
,但这基本上会使你的滚动视图像一个普通的UIView。
如果你能控制的所有子UIScrollView
的,可以实现UIScrollViewDelegate
协议,但如果你不这样做,或者你的孩子UIScrollView
确实是一个UITableView
,或UICollectionView
,那么你就不能真正依靠的UIScrollViewDelegate
协议,但请记住UIScrollView
附带panGestureRecognizer
,你可以玩。一个强大而又笨重的方法是在panGestureRecognizer
的state
属性上添加一个观察者,以便您可以捕获所有事件,而不会成为UIScrollView
的代表。
嗨hatfinch,我不知道如何防止默认行为“内滚动视图滚动,直到它不能再滚动,在这一点上外滚动视图滚动”?我希望当用户滚动内部视图时,即使内部视图滚动到结尾,外部视图也可以保留。 – Hampotato 2016-05-30 08:21:56