Как загрузить одно и то же представление несколько раз в контроллере представления - PullRequest
0 голосов
/ 20 марта 2019

Learning swift .. поэтому я сталкиваюсь со сценарием и не уверен в правильном подходе

У меня есть контроллер 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 Ответ

1 голос
/ 20 марта 2019

Создайте UIStackView в вашем xib или storyboard. Так как в стеке есть встроенная функция регулировки высоты вида. При необходимости добавьте все свои элементы (в ярлыке вашего дела имя, номер телефона и т. Д.) В порядке UIStackView in vertical или horizontal. В вашем контроллере просто спрячьте элемент, который вам не нужно отображать для этой конкретной ячейки. Вы должны отобразить желаемый вид.

...