Как поместить пользовательскую ячейку в другую пользовательскую ячейку? - PullRequest
0 голосов
/ 22 апреля 2019

Теперь у меня есть PostsController, который является TableViewController. Содержит PostCell. В какой-то момент я хочу поместить еще одну PostCell в одну PostCell. Я имею в виду, что внутри этого PostCell есть также PostCell. Как мне сделать это с кодами в Swift?

1 Ответ

2 голосов
/ 22 апреля 2019

Наличие ячейки, содержащей другую ячейку, не является стартером.Даже если бы вы могли взломать его вместе, был бы большой риск неожиданного поведения.

С учетом сказанного, есть несколько вариантов, которые я бы рассмотрел.

  1. Если возможно, перейдите из одной секции в несколько строк макета в несколько разделов одной строки макета.Когда вам нужно иметь репосты, они могут быть дополнительными строками в разделе исходного сообщения.

    Например, сообщение 1 - путь индекса (0, 0), сообщение 2 - путь индекса (1, 0)репост поста 2 - путь индекса (1, 1), пост 3 - путь индекса (2, 0)…

    Он заблокирует вас в макете раздела, но вам не придется менять PostCell.

  2. Превратите PostCell в PostView, создав подкласс UIView вместо UITableViewCell.Иметь ячейку контейнера вида, которая может содержать 1 или более экземпляров PostView.Это должен быть быстрый способ получить то, что вы просили, и все же дать вам некоторую гибкость в макете

  3. Превратите PostCell в PostViewController.Имейте ячейку контейнера контроллера представления, которая может содержать Ваш контроллер представления представления.Это немного сложнее, но дает вам максимальную гибкость при создании макета.

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