Я хочу отображать различные UITableViewCell
s в зависимости от того, какой контент доступен.Как мне это сделать?
Пример:
Допустим, у меня есть пользовательский UITableViewCell
, у которого contentView
есть UILabel
, UITextField
и UIImageView
как подпредставления.UILabel
расположен в верхней части ячейки, над UIImageView
, который находится рядом с UITextField
.В зависимости от того, какое содержимое для этих видов доступно, я хотел бы отображать только доступные части и увеличивать другие виды.Например: если отсутствует контекст UILabel, я не хочу, чтобы в верхней части ячейки было пустое место.Если у меня нет изображения, текстовое поле должно начинаться с самой левой стороны ячейки.
Там должно быть много газетных / телевизионных приложений, которые должны были решить точно такую же проблему ...
Подходы:
(i) Использование той же пользовательской ячейки, где я каким-то образом переставляю подпредставления
(ii) Вызов различных пользовательских UITableViewCell
в зависимости от того, какой контент доступен
Для обоих подходов у меня возникают проблемы с поиском пути для решения этой проблемы.Мой UITableView
размер контента является динамическим и может иметь несколько строк или много.
Есть ли какой-то другой подход, который я пропускаю или нет, какой подход является наилучшей?