Как создать 2 шага расширяемого табличного представления Swift - PullRequest
0 голосов
/ 18 июня 2019

enter image description here Существует основное представление таблицы, и внутри каждой ячейки основного представления таблицы имеется собственное представление таблицы заголовков.Затем каждая ячейка представления таблицы заголовков имеет свое собственное представление таблицы подзаголовков.Все строки таблицы не имеют фиксированных значений в соответствии с динамическими данными.Я пытаюсь добиться того, чтобы при расширении ячейки основного табличного представления я должен видеть, что ячейки табличного представления не расширены.После того, как ячейка представления таблицы заголовка израсходована, я должен увидеть представление таблицы подзаголовка.Мне нужно решение без использования библиотек.

Я предоставил пользовательский интерфейс раскадровки, основанный на том, чего я хочу достичь.

Ответы [ 2 ]

1 голос
/ 18 июня 2019

Чтобы иметь дело с расширяемыми ячейками (или ячейками внутри эффекта ячеек), я рекомендую использовать UIStackView внутри UITableViewCell и добавлять внутри необходимые представления с данными.

Например, вы можете создать UIView внутри Xib-файла и загрузить его внутри необходимого UITableViewCell, затем добавить в UIStackView и заполнить данными.

Затем вы можете просто скрыть / показать элементы внутри UIStackView для архивирования расширения / разворачивания.

Так или иначе, вы должны использовать 1 UITableView.

1 голос
/ 18 июня 2019

Однажды я сделал расширяемое представление таблицы за 1 шаг.

Вот что я сделал, чтобы достичь этого.

Не создавайте разные табличные представления для каждой иерархии. Это будет трудно управлять. Вместо этого сделайте одно табличное представление, но измените тип ячейки, которую вы хотите показать. Если ячейка является ячейкой верхнего уровня, ячейкой первого уровня или ячейкой второго уровня, измените конструкцию каждой из них.

В этом случае источник данных будет иметь список из списка, чтобы обозначить расширяемый на 2 уровня UITableView.

Чтобы открыть и закрыть представление таблицы, вы можете просто изменить источник данных и перезагрузить или использовать beginUpdates и endUpdates

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