【发布时间】:2018-08-30 05:57:35
【问题描述】:
我需要 5 个 viewController,它们都具有相同的标题组件。所以我不想为每个 viewController 复制相同的视图和代码。我想创建一个标题并为每个 viewController 使用标题。 问题是标题将由一个对象填充,并且该对象具有列表属性。所以我需要添加这个列表属性,比如 tableView。 What one view controller look like
我正在尝试创建一个 headerViewController 并将我的对象传递给它。我将在每个 5 个主视图控制器的容器视图中使用这个 viewController。但是高度会有所不同,所以我无法为容器视图定义高度约束。在 5 视图控制器中应该使用滚动视图,因为总高度会高于屏幕。
这有点复杂,因为我试图解决这个问题,比如一个 android 开发者:)
【问题讨论】:
-
您可以使用 UIContainer 视图。创建一个主视图控制器并向其中添加标题,对于更改部分使用容器视图并在那里加载更改视图。
-
您可以创建自定义 headerView 子类 UIView。创建自定义 XIB 并提供所有者作为此 headerView。在自定义 headerView 类中添加 tableview 的所有逻辑和创建,这样就不会出现重复的代码,并且易于在其他 viewcontrollers 中重用
标签: ios swift4 xcode9 reusability uicontainerview