如何根据单元格数量更改滚动视图大小?

Posted

技术标签:

【中文标题】如何根据单元格数量更改滚动视图大小?【英文标题】:How would I make a scrollview size change based on amount of cells? 【发布时间】:2017-01-15 10:24:21 【问题描述】:

我希望从后端提取所有待处理的位置,将它们加载到不滚动的 tableView 中,而是根据我需要的单元格数量更改高度,放入滚动视图中。

例如,这是我的层次结构。

标签(50 像素) tableView(每个单元格为 80px) 文本字段(30 像素) 按钮 (50px) 地图视图(375px)

所有内容都是 505 像素高,不包括 tableView。我希望表格视图的高度为 80 像素 * 单元格数量,这意味着我的滚动视图会根据该人所在区域的待定位置数量而变化。我该怎么做?我会添加代码,但我所拥有的代码都不能帮助解决这个问题。

我在挣扎,因为

tableView.frame.height = 80 * cells.count

错误说高度是一个只能获取的属性。

【问题讨论】:

不要那样做。将所有内容放入表格视图中。表格视图不仅可以显示相同单元格的列表。为其添加一个标题并将标签放在那里。添加页脚并将文本字段和地图放入其中。 tableView.frame.size.height = 80 * cells.count 【参考方案1】:

frame 属性是一个 CGRect,它是一个结构体,所以你必须一起改变它。

CGRect frame = self.tableView.frame;
frame.size.height =  80.0 * cells.count;
self.tableView.frame = frame;

【讨论】:

以上是关于如何根据单元格数量更改滚动视图大小?的主要内容,如果未能解决你的问题,请参考以下文章

根据视图更改自定义 UITableViewCell 高度

滚动后集合视图单元格 alpha 正在更改

具有文本字段滚动问题的 iOS 表格视图

自动大小表格视图单元格扩展高度中的嵌套水平集合视图使集合视图滚动重置当重新加载单元格以累积行

具有自我调整大小的单元格的集合视图不再可水平滚动

ios - 单元格表格视图内的视图位置仅在滚动后才会更改