用于水平滚动的 UIScrollView 内的 UITableView 无法按预期工作
Posted
技术标签:
【中文标题】用于水平滚动的 UIScrollView 内的 UITableView 无法按预期工作【英文标题】:UITableView inside the UIScrollView for horizontal scrolling does not work as expected 【发布时间】:2012-12-21 13:34:41 【问题描述】:我使用了一个表格视图,其中包含具有不同信息集的单元格,并且不能包含在 tableView 的框架中。所以我确实需要在表格视图中具有水平滚动能力。
由于tableview无法进行水平滚动,因此我计划使用带有水平滚动的scrollView。我在 scrollView 上添加了 tableView。
我面临的问题与滚动视图的内容大小属性无关,滚动视图永远不会滚动超过 256-320 像素的 contentOffset 值 X。
我打算实现如下截图中的效果
【问题讨论】:
那么你现在使用UIScrollView
吗?
也许 UITableView 不是要走的路。我建议您使用简单的UIScrollView
并使用自定义UIViews
手动填充它。
是 H2CO3。在 UIScrollView 之上,我添加了 UITableView
一些关于如何在滚动视图中添加表格视图的代码可能会有所帮助
我使用 Interface Builder 完成了所有工作
【参考方案1】:
尝试两件事,
首先将 TableView 高度设置为 total numberOfRows :
tableView.frame.size.y = numberOfRows * 44;
现在禁用 tableView 滚动
并根据您的需要设置他的scrollView contentSize;
scollerView.contentSize = numberOfRowsintableView
肯定能解决你的问题
【讨论】:
【参考方案2】:在 ViewDidLoad 中为 ScrollView 设置合适的 ContentSize。
scollerView.contentSize = CGSizeMake(Width,Height);
根据要求计算宽度和高度(您使用的是Tableview,因此您可以将高度与视图高度相同)
那么它肯定会滚动。
【讨论】:
【参考方案3】:我使用代码实现了整个功能,而没有使用界面构建器。它现在按预期工作。我不知道为什么它在与界面生成器一起使用时不起作用。
【讨论】:
以上是关于用于水平滚动的 UIScrollView 内的 UITableView 无法按预期工作的主要内容,如果未能解决你的问题,请参考以下文章
UIScrollView 内的水平 UIStackView 不滚动
分页 UIScrollView 内的 UIScrollView
UIScrollView 内的 UITableViewController 与水平分页