UIScrollView 中的 UIView 中的 UITableView。滚动表格视图时也不要滚动滚动视图

Posted

技术标签:

【中文标题】UIScrollView 中的 UIView 中的 UITableView。滚动表格视图时也不要滚动滚动视图【英文标题】:UITableView in UIView in UIScrollView. When scrolling tableview don't scroll scrollview too 【发布时间】:2013-03-05 20:24:19 【问题描述】:

我在 UIScrollView 内的 UIView 内有一个 UITableView。 问题:当我滚动/拖动表格视图时,滚动视图也会滚动。 我需要的是表格视图不要将滚动传递给滚动视图。当我直接滚动它时,我还需要能够使用滚动视图。 我怎样才能做到这一点? 干杯

【问题讨论】:

【参考方案1】:

我在 tableview 上使用“hitTest”修复了它。

 - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event

如果事件源自 tableview,我禁用父级的滚动视图滚动。 而且,当 tableview 的滚动结束 (scrollViewDidEndDragging) 我重新启用父级的滚动视图滚动。

这个接缝可以正常工作。

【讨论】:

【参考方案2】:

为您的 tableview 的滚动视图(即您的视图控制器)设置一个委托

tableView.scrollView.delegate = self;

然后使用这两个调用

– scrollViewDidScroll:
– scrollViewDidEndDragging:willDecelerate:

禁用和重新启用外部滚动视图的 scrollEnabled 属性

【讨论】:

它不起作用。由于某种原因,在调用 tableview 的 scrollViewDidScroll 之前首先调用父滚动视图。 你的滚动视图是干什么用的?表格视图总是在滚动视图的底部吗? 是的,它总是在底部,固定的高度和宽度。我通过在 tableview 上使用 hittest 来解决这个问题。感谢您的帮助。

以上是关于UIScrollView 中的 UIView 中的 UITableView。滚动表格视图时也不要滚动滚动视图的主要内容,如果未能解决你的问题,请参考以下文章

在 UIScrollview 中的 UIView 上的屏幕中的框架

UIScrollView中的UIView不出现

如果其他 UIView 带有隐藏选项,如何使下 UIView 固定到 UIScrollView 中的上 UIView?

自定义 UIView 中的 UIScrollView 不滚动

在uiscrollview中的多个uiview之间传递数据

UIScrollVIew 中的 UIView 不更新视图