Настройте динамическую высоту для UICollectionView внутри UIStackView, который вложен в UITableViewCell - PullRequest
1 голос
/ 14 апреля 2019

У меня есть UITableView с разными ячейками, в одной из этих ячеек есть UIStackView, который содержит несколько UIView, последний из которых является пользовательским классом, который подклассы UICollectionView.

Итак, проблема, с которой я столкнулся, заключается в том, что представление коллекции внутри стека не появляется, потому что высота равна нулю. Чтобы попытаться обойти эту проблему, в пользовательском UICollectionView я пытался применить высоту внутри, используя следующий фрагмент кода.

override func layoutSubviews() {
    super.layoutSubviews()
    if !hasBeenLayedOut {
        hasBeenLayedOut = true
        self.apply(height: self.collectionViewLayout.collectionViewContentSize.height, width: nil)
        self.layoutIfNeeded()
    }
}

Единственная проблема заключается в том, что после того, как к представлениям в представлениях стека наложены ограничения после применения ограничения высоты, элементы представления стека сжимаются, чтобы приспособить их содержимое к представлению коллекции.

Мои вопросы, возможно ли определить высоту представления коллекции до layoutSubviews()? Я пытался использовать collectionviewContentSize, но он всегда равен 0, поэтому мой viewview не имеет высоты.

...