如何在视图控制器中多次加载同一视图

时间:2019-03-20 06:58:00

标签: ios swift uiview uiviewcontroller addsubview

学习迅速..so,我遇到了一个场景,不确定是否正确的方法

我有一个View控制器,其中加载的子视图取决于要传递的对象中的值

例如:考虑一个对象具有名称,电话(家庭,工作,移动电话),地址,生日的页面

现在在我的视图控制器中,我想显示下图所示的字段

enter image description here

所以我的模型如下:

struct Info {
  let name: String
  let phone: [Phone]
  let address: [Address]
  let bday: String
 }

对于电话信息,我需要遍历电话阵列并适当添加视图。如果该Phone结构没有移动信息,那么我不需要显示单元格。

所以我创建了XIB文件并尝试加载该自定义视图

我还需要为“使用手机查看”到“使用手机查看”等添加约束。以便它们对齐并像上面的图片一样显示

所以我的问题是

  1. 如何将xib添加到我的viewcontroller

2。我是否在代码中手动添加了约束,或者是否有其他方法(请给我一个示例,说明我如何添加约束)

如果我的方法不正确,请告诉我正确的方法

您的建议会更有价值

1 个答案:

答案 0 :(得分:1)

在您的UIStackViewxib中创建storyboard。由于堆栈视图具有内置功能,可自行调整视图高度。根据需要,按UIStackViewvertical的顺序将所有元素(在您的情况下,用于名称,电话号码等的标签中)添加到horizontal中。在控制器中,只需隐藏不需要为该特定单元格显示的元素。您应该已经显示了所需的视图。