У меня есть просмотр коллекции вложенной в виде коллекции. То, что я сделал, чтобы динамически изменять размер ячейки на основе содержимого, создает выход для высоты дочерней коллекции и меняет ее константу после получения размера содержимого.CollectionView Изменение размера ячейки после прокрутки - AutoLayout
Это показ экрана моих ограничений IB, и я использую высоту, выделенную.
Так я имею представление коллекции ребенка (коробка цвета Aqua в) с ограничениями в клетке родителя на 4-х сторон с постоянной высотой.
В моем классе пользовательских ячеек, которая держит представление коллекции ребенка, я устанавливаю высоту, как:
let contentHeight = innerCollectionView.collectionViewLayout.collectionViewContentSize.height
innerCollectionHeight.constant = contentHeight
А потом в моем точке зрения класса контроллера, который удерживает вид родительского сбора в viewDidLoad я указать оценочный размер элемента с:
let flowLayout = outerCollectionView.collectionViewLayout as! UICollectionViewFlowLayout
flowLayout.estimatedItemSize = CGSize(width: view.frame.width - 20, height: view.frame.height/4)
flowLayout.minimumLineSpacing = 10
flowLayout.sectionInset = UIEdgeInsets(top: 0, left: 10, bottom: 10, right: 10)
в результате получается, что на начальных всех нагрузках отображается правильно, однако после прокрутки верхней ячейки, которая имеет 2 строки данных (зеленые иконки числа) настраивается таким же, как и другие. Вы можете видеть в gif ниже, что вид детской коллекции (цветной квадрат aqua'ish) по-прежнему того же размера, это уменьшенная по размеру родительская ячейка (оранжевый ящик).
Я озадачен здесь, что делать.
бит, где он возвращается к полному размеру, является просто списком gif, на самом деле это не так.