Автоматическая высота стола с содержимым collectionView - Swift - PullRequest
0 голосов
/ 01 июля 2019

Иерархия выглядит следующим образом:

  • Представление таблицы
    • Ячейка представления таблицы
      • Представление коллекции
        • Ячейка представления коллекции

Содержимое Collection View загружается ajax json.

Я хочу, чтобы таблица корректировалавысота после загрузки данных.

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return UITableView.automaticDimension
}

1 Ответ

0 голосов
/ 01 июля 2019

Сначала вам нужно сделать динамически изменяющийся UICollectionView следующим образом

import UIKit

class DynamicCollectionView: UICollectionView {

    override func reloadData() {
        super.reloadData()
        self.invalidateIntrinsicContentSize()
    }

    override var intrinsicContentSize: CGSize {
        return self.collectionViewLayout.collectionViewContentSize
    }
}

и поместите эту коллекцию ViewView в UITablaViewCell. После этого вы должны написать в свой метод viewDidLoad ()

tableView.estimatedRowHeight = 44 //height which one you want, it does not matter
tableView.rowHeight = UITableView.automaticDimension

Это все. Я надеюсь, что это поможет решить вашу проблему.

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