Я пытаюсь установить высоту представления коллекции на основе размера содержимого. Однако, когда я устанавливаю это, это приводит к неправильной ширине ячейки.
Представление коллекции находится в ячейке UITableView:
class customCellClass: UITableViewCell, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
@IBOutlet var theCollectionView: UICollectionView!
@IBOutlet var heightConstant: NSLayoutConstraint!
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 7
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let collectionCell = collectionView.dequeueReusableCell(withReuseIdentifier: "collectionCell", for: indexPath)
return collectionCell
}
override func awakeFromNib() {
super.awakeFromNib()
let height = theCollectionView.collectionViewLayout.collectionViewContentSize.height
heightConstant.constant = height
theCollectionView.setNeedsLayout()
}
}
^ Это с установленным ограничением высоты. Высота представления коллекции соответствует размеру содержимого, но макет теперь неверный?
^ Это без него. Высота установлена фиксированной, но макет правильный.