Как получить высоту UICollectionViewCell, когда содержимое включает другой UICollectionView, который имеет динамический размер? - PullRequest
0 голосов
/ 12 июля 2019

У меня вертикальная прокрутка.В конце этого вертикального представления коллекции у меня есть содержимое ячейки - горизонтальное представление коллекции, которое уже динамически имеет размер по высоте на основе его содержимого (прокрутка была отключена), как список потоков тегов .

горизонтальное представление коллекции, унаследованное от DynamicHeightCollectionView

class DynamicHeightCollectionView: UICollectionView {
    override func layoutSubviews() {
        super.layoutSubviews()
        if !__CGSizeEqualToSize(bounds.size, self.intrinsicContentSize) {
            self.invalidateIntrinsicContentSize()
        }
    }

    override var intrinsicContentSize: CGSize {
        return contentSize
    }
}

Но оно contentSize равно 0 при первой загрузке или изменении ориентации, затем правильно.

Я обнаружил, что при первой загрузке contentSize = 0 поскольку она не содержит ничего, ячейка, содержащая это горизонтальное представление коллекции, не видна, это означает, что не вызывать cellForItem.

Я намереваюсь вычислить высоту основания ячейки внешнего collectionView на горизонтальном collectionView contentSize in collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize.

так, как я могу принудительно заполнить содержимое для горизонтального представления коллекции при первой загрузке, и это еще не видно?

...