Iphone 如何将UIScrollView嵌套在UIScrollView中,以便用户可以滚动内部UIScrollView?
我还没有尝试过,但是我假设一旦我知道用户想要在子滚动视图中滚动,我就必须禁用父滚动视图的滚动,对吗 两个滚动视图都是水平滚动的Iphone 如何将UIScrollView嵌套在UIScrollView中,以便用户可以滚动内部UIScrollView?,iphone,cocoa-touch,uikit,uiscrollview,Iphone,Cocoa Touch,Uikit,Uiscrollview,我还没有尝试过,但是我假设一旦我知道用户想要在子滚动视图中滚动,我就必须禁用父滚动视图的滚动,对吗 两个滚动视图都是水平滚动的 如何暂时禁用父级的滚动检测?或者有其他方法吗?UIScrollView有一个名为scrollEnabled的属性,您可以将该属性设置为NO,以禁用父滚动视图中的滚动 我还没有试过,但你可能会发现它做了正确的事情,即内部滚动视图一直滚动到无法再滚动为止,此时外部滚动视图会滚动。我这样做了,它确实会导致父滚动视图不再滚动,这很好,但通过presentModalViewCon
如何暂时禁用父级的滚动检测?或者有其他方法吗?UIScrollView有一个名为
scrollEnabled
的属性,您可以将该属性设置为NO
,以禁用父滚动视图中的滚动
我还没有试过,但你可能会发现它做了正确的事情,即内部滚动视图一直滚动到无法再滚动为止,此时外部滚动视图会滚动。我这样做了,它确实会导致父滚动视图不再滚动,这很好,但通过presentModalViewController推送的子滚动视图仍然不响应滚动事件(例如,向上或向下滚动)。我显然错过了一些东西
编辑:通过在父视图上使用“scrollEnabled”使其最终工作。谢谢。我也遇到了同样的问题,直到我使用以下方法将足够的高度动态设置为内部ScrollView的contentSize:
[scrollView setContentSize:CGSizeMake(scrollView.frame.size.width,600)];
显然,这只是一个硬编码的示例,您应该设置显示视图的全部内容所需的高度,最后可能不需要滚动
似乎使用IBuilder设置scrollView的高度是不够的,因此不需要滚动,这就是为什么我认为扫描事件没有到达内部滚动
希望这有帮助 这是很有可能的。最简单的方法是禁用
scrollEnabled
属性,您还可以尝试将外部UIScrollView
的contentSize
设置为其边界,以便它不会滚动。根据您的需要,您也可以将No设置为bounce
,但这基本上会使您的滚动视图与常规UIView类似
如果您可以控制所有的子级
UIScrollView
,您可以实现UIScrollViewDelegate
协议,但是如果您没有,或者您的子级UIScrollView
实际上是一个UITableView
,或者UICollectionView
,那么您就不能真正依赖UIScrollViewDelegate
协议,但是请记住,UIScrollView
附带了一个PangestureRecognitor
,您可以使用它。一种强大但繁重的方法是在PangestureRecognitizer
的状态
属性上添加一个观察者,这样您就可以捕获所有事件,而不必成为所讨论的UIScrollView
的代表 嗨,哈特芬奇,我想知道如何防止默认行为“内部滚动视图滚动,直到它无法再滚动,此时外部滚动视图滚动”?我希望当用户滚动内部视图时,外部视图可以保留,即使内部视图已滚动到最后。您可以在内部滚动视图上注册代理回调,在内部滚动视图开始滚动时禁用外部滚动视图,并在内部滚动视图完成减速后重新启用。