iOS - 动态高度,数据驱动,垂直可滚动布局

时间:2018-06-10 16:14:02

标签: ios swift ios-autolayout

我正在尝试在图片中创建布局

enter image description here

以下是主要要求:

  • 每个部分的内容都是数据驱动并从api中检索。
  • 根据我们拥有的字段数量,每个部分的高度都是动态的。
  • 场景高度是动态的。
  • 场景可以垂直滚动。

这是我尝试做的事情:   - 使用静态单元格UITableView   - 使用带有滚动视图的堆栈视图

在这两种情况下,我都遇到了处理动态数据字段堆栈视图的问题,而且我在处理每个部分的动态高度方面都很困难。

任何想法?

1 个答案:

答案 0 :(得分:2)

您的要求非常简单,可以使用UITableView来满足。使用动态UITableViewCell。我选择动态表格视图单元格的原因是您可以根据内容调整单元格高度。在tableView:heightForRowAtIndexPath:

中衡量您的内容大小

流程将如下:

  1. 发起api通话
  2. 当数据不可用时,根据占位符视图返回单元格高度(即占位符图像高度)
  3. 数据可用时,处理数据并重新加载表格视图
  4. 重新加载表格视图后,表格视图将再次询问每个单元格的高度,因此您可以计算内容高度。 (我假设您可以测量字符串高度,同时给出字符串宽度和字体.Plz google,那很明显。)
  5. 返回计算出的高度。
  6. 优化可能性 您可以计算一次单元格高度,而不是每次重新计算单元格高度,并将该高度存储在一个用IndexPath键入的简单字典中。