Я потратил несколько дней на то, чтобы опробовать предложения, предложенные на разных постах SO, но не смог этого выяснить.Я, вероятно, смотрю прямо на проблему!
Я переключаюсь с Android на iOS и, похоже, у меня возникли некоторые проблемы с автопоставкой.В частности, получение UICollectionView для изменения размера до высоты его содержимого.Каждое представление коллекции может иметь различный размер ячейки в зависимости от его содержимого, но размер ячейки будет одинаковым для каждого элемента в данной строке.
UICollectionView вложен в UITableViewCell.Кажется, что UITableViewCells корректно изменяют высоту своего содержимого и, глядя на иерархию представлений отладки, проблема, похоже, связана с UICollectionView.
Я создал мини-демонстрацию и поместил ее на этот github (ссылка ниже).Я добавил кучу тестовых данных, поэтому нижняя часть ViewController VC немного грязная.Демо просто показывает, как каждая строка может иметь разный размер контента.Может быть несколько строк таблицы одного и того же стиля.
ПРИМЕЧАНИЕ. Мне нужно было добавить следующую строку в CategoryRowCell.swift, чтобы получить снимки экрана ниже.Без этой строки высота UICollectionView становится равной 0!
...
collectionView.heightAnchor.constraint(equalToConstant: 250)
...
ссылка на GitHub
Так вот как это выглядит прямо сейчас ..
прокручивается вниз
Обратите внимание на пробелы вверху и внизу горизонтальных списков.Вот то, что я ожидаю ..
Вот часть иерархии представления отладки.Вы увидите, что представление коллекции уже имеет верхнее и нижнее поля (хорошо), но красные линии показывают избыточную высоту, применяемую к представлению коллекции.Зеленая линия указывает на ожидаемую мной высоту.Мне нужно, чтобы представление коллекции имело высоту содержимого.