Получить полную высоту содержимого tableView - PullRequest
1 голос
/ 01 апреля 2019

Я сталкиваюсь со следующей проблемой:

  • У меня есть контейнерное представление, в котором есть tableView, tableView содержит ячейки и нижний колонтитул
  • в нижнем колонтитуле, у меня есть UIView, который содержит другойtableView с ячейками (это скрыто в PageBoy, потому что я должен изменить вкладки из-за даты содержимого tableView)

Чего я хочу достичь?

Я хочу изменить размер нижнего колонтитула tableView, чтобы он соответствовал содержанию его tableView.

Что я делаю для достижения этой цели?

Я подготовил исследование,разработал ResizableTableView, код которого следующий:

class ResizableTableView: UITableView {
    override var intrinsicContentSize: CGSize {
        layoutIfNeeded()
        return contentSize
    }
    func reloadData(with completion: @escaping () -> ()) {
        animator.animate(withDuration: 0, options: [], animations:  {
            self.reloadData()
            self.invalidateIntrinsicContentSize()
        }, completion: { _ in
            completion()
        })
    }
}

И проблема в том, что при первом просмотре загрузки происходит неправильное изменение размера - tableView contentSize не дает мне полную высоту, содержимое обрезается.

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

Я пытался перезагрузить данные tableView, а затем делегировать команду моему viewController изменить размер нижнего колонтитула tableView, но это также не удалось наПервая загрузка.Размеры ячеек изменяются путем автоматического размещения - это, вероятно, критическая проблема в этой реализации.

1 Ответ

1 голос
/ 01 апреля 2019

Не рекомендуется содержать новый TableView в нижнем колонтитуле вашего tableView.Вместо добавления представления нижнего колонтитула было бы лучше добавить новый раздел и использовать настраиваемые ячейки.

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

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