UIScrollView 内的 UITableViews

Posted

技术标签:

【中文标题】UIScrollView 内的 UITableViews【英文标题】:UITableViews inside UIScrollView 【发布时间】:2017-08-02 05:41:07 【问题描述】:

我已经阅读了几篇关于将 UITableViews 放入 ScrollView 的帖子,但大多数情况下不推荐这种想法。据我了解,处理这种情况的“标准方法”是仅使用 UITableView 而不是 ScrollView,并使 TableView 标题成为 UIView 以显示内容并使用单元格显示任何动态行。

但是我现在正在开发的应用程序有点不同:视图的第一部分是一些描述性内容,我可以使用标题视图来显示。但在那之后,我想显示可能具有动态高度的 两个 可滚动部分。一个是评论部分,显示所有 cmets 和回复,另一个是用户部分,显示任何用户曾经提供的报价。这两个部分需要是基于行的,并且高度是动态的,因为它们里面的内容会有所不同。

所以问题是,我应该如何在不将两个 UITableViews 放入 UIScrollView(我的原始计划)的情况下实现这一点?

【问题讨论】:

表格视图中可以有两个部分 【参考方案1】:

ScrollView 内的 UITableViews 完全不推荐作为 UITableView 作为它自己的 scrollView 作为 subView。

这两个部分需要基于行并且高度是动态的 因为它们里面的内容会有所不同。

为dynamic height for row 使用代理有什么问题

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat 

一些教程: https://www.raywenderlich.com/129059/self-sizing-table-view-cells

【讨论】:

emm..我该如何实现两个基于行的部分呢?我还有一些其他静态内容要显示在这两个部分之间。在 numberOfSections 中返回“2”? 您可以根据您的内容决定.. 使用 numberOfSections N numberOfRowsInSection 进行配置,即使您可以通过检查是否为 indexpath.row/section=somerow 为您的静态内容传递不同的静态单元格

以上是关于UIScrollView 内的 UITableViews的主要内容,如果未能解决你的问题,请参考以下文章

限制 UIScrollView 内的 UILabel 的高度

UIScrollview 内的 UIView 内的 UILabel 上的 UIGestureRecognizer

UIScrollview内的UIView内的UIButton,ARC问题

Swift - 通过点击 ScrollView 内的 ViewController 内的按钮来滚动 UIScrollView

UIScrollView 内的 CPTXYGraph

UIScrollView 内的 UIVIew 反弹回来