Я сталкиваюсь со следующей проблемой:
- У меня есть контейнерное представление, в котором есть 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, но это также не удалось наПервая загрузка.Размеры ячеек изменяются путем автоматического размещения - это, вероятно, критическая проблема в этой реализации.