Как получить высоту встроенного динамического c UITableView в пределах c UITableView - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь создать экран для ввода информации о пациенте, очень похожий на экран редактирования контактов в iOS.

Я думаю, что экран должен представлять собой таблицу c с ячейками для простых вещей как имя, фамилия и т. д. c.

В таблице stati c будут ячейки, содержащие встроенные таблицы с динамическими c ячейками. Будет встроенная таблица для телефонных номеров, другая для адресов улиц и другая для поставщиков медицинских услуг ... Каждая из этих встроенных таблиц может иметь ноль или более записей.

Top part of contacts screen address section of contacts screen

Является ли встраивание динамических c таблиц в stati c таблицы правильным способом сделать это?

Я не знаю, как это сделать получить высоту встроенного содержимого, чтобы я мог установить высоту ячейки stati c.

1 Ответ

1 голос
/ 30 марта 2020

Это довольно продвинутый топи c, который я сейчас не могу подробно охватить, но я постараюсь дать вам несколько советов о том, как действовать дальше.

  1. Я бы не советовал встраивать табличные представления в другие табличные представления.
  2. Использование динамического c табличного представления.
  3. Создание модели представления, которая предоставляет массив объектов для визуализации контроллера.
  4. Контроллер берет только объекты из модели представления и решает, какие ячейки отображать (без логики c в контроллере)
  5. В модели представления рассматриваются все сложности данных ( stati c content, динамические c вложенные массивы, разделы, операторы if-else, ...)
  6. Построение сложных ячеек (адресная ячейка в вашем примере) с использованием, например, стековых представлений.
  7. Работать с несколькими полями в одной ячейке может быть сложно, вам придется провести дополнительное исследование по этой теме c.

Существует множество руководств по архитектуре модели представления ("mvvm"), Google.

Надеюсь, это поможет, удачи и счастливого взлома!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...