У меня есть 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 не имеет высоты.