Xcode 9 swift 4 动态可重复使用 header 多个 viewController

Xcode 9 swift 4 Dynamic reusable header for several viewController

我需要 5 个 viewController 它们都具有相同的 header 组件。所以我不想为每个 viewController 重复相同的视图和代码。我想创建一个 header 并为每个 viewController 使用 header。 问题是 header 将由 object 填充,而此 object 具有列表属性。所以我需要添加这个列表属性,比如一个 tableView。 What one view controller look like

我正在尝试创建一个 headerViewController 并将我的 object 传递给它。我将在每个 5 个主视图控制器的容器视图中使用这个 viewController。但是高度会有所不同,所以我无法为容器视图定义高度约束。 in 5 view controller应该使用scroll view,因为总高度会比screen高。

这有点复杂,因为我试图解决这个问题,例如 android 开发人员 :)

假设您希望 tableView 中的所有项目始终显示(在 tableView 中不滚动)

您应该将高度限制添加到 tableViewcontainerView

在 loading/reloading 数据集 tableViewHeightConstraintcontainerViewHeightConstraint 内容大小高度为 tableView

的 tableView 之后
tableViewHeightConstraint.constant = tableView.contentSize.height

containerViewHeightConstraint.constant = tableView.contentSize.height

我已经通过创建包含 table 视图的主视图控制器解决了这个问题。而常见的header是一种tableviewcell。然后对于每个不同的 body 部分变成另一个 tableviewcell 所以根据 viewCOntroller 的类型属性,我正在加载相关的 tableviewCell。 我在@midhun-mp 评论后做了这个。感谢他。