我正在尝试在图像中创建布局
主要要求如下:
- 每个部分中的内容都是数据驱动的,并从 API 中检索。
- 每个部分的高度是动态的,具体取决于我们拥有的字段数量。
- 场景高度是动态的。
- 场景可垂直滚动。
这是我尝试做的: - 使用静态单元格 UITableView - 使用带有 ScrollView 的堆栈 View
在这两种情况下,我都在处理动态数据字段的堆栈 View 时遇到了困难,并且在处理每个部分的动态高度时遇到了困难。
有什么想法吗?
最佳答案
您的要求非常简单,可以使用 UITableView
来满足。使用动态 UITableViewCell
。我选择动态表格 View 单元格的原因是您可以根据内容调整单元格高度。在 tableView:heightForRowAtIndexPath:
中测量您的内容大小.
流程如下:
- 发起api调用
- 当数据不可用时,根据您的占位符 View (即占位符图像高度)返回单元格高度
- 当数据可用时,处理您的数据并重新加载 TableView
- 重新加载表格 View 后,表格 View 将再次询问每个单元格的高度,因此这是您计算内容高度的机会。 (我假设您可以在给出字符串宽度和字体的同时测量字符串高度。请用谷歌搜索,这很明显。)
- 返回计算出的高度。
优化可能性:
不必每次都重新计算单元格高度,您可以计算一次单元格高度并将该高度存储在一个简单的字典中,该字典以 IndexPath
为键。
关于iOS - 动态高度、数据驱动、垂直滚动布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50785644/