首页 > 解决方案 > 如何在静态 UITableView 中获取嵌入式动态 UITableView 的高度

问题描述

我正在尝试创建一个与 iOS 中的联系人编辑屏幕非常相似的用于输入患者信息的屏幕。

我认为屏幕应该是一个静态表格,其中包含简单的单元格,例如名字、姓氏等。

静态表中的单元格包含带有动态单元格的嵌入式表格。将有一个用于电话号码的嵌入式表格,另一个用于街道地址,另一个用于医疗服务提供者,......这些嵌入式表格中的每一个都可以有零个或多个条目。

联系人屏幕的顶部 联系人屏幕的地址部分

在静态表中嵌入动态表是正确的方法吗?

我不知道如何获取嵌入内容的高度,以便设置静态单元格的高度。

标签: swiftxcodeuitableviewuiview

解决方案


这是一个相当高级的话题,我现在无法深入讨论,但我会尝试为您提供一些关于如何进行的指示。

  1. 我建议不要将 tableviews 嵌入到其他 tableviews 中。
  2. 使用动态表格视图。
  3. 创建一个视图模型,为控制器提供一组对象来渲染。
  4. 控制器仅从视图模型中获取对象并决定渲染哪些单元格(控制器中没有逻辑)
  5. 在视图模型中处理数据的所有复杂性(静态内容、动态子数组、部分、if-else 语句……)
  6. 使用例如堆栈视图构建复杂的单元格(在您的示例中为地址单元格)。
  7. 处理一个单元格内的多个字段可能很棘手,您将不得不对该主题进行更多研究。

有很多关于视图模型架构(“mvvm”)的教程,谷歌一下。

我希望这会有所帮助,祝你好运,黑客愉快!


推荐阅读