@autumn_parker
Чтобы сделать высоту UITableViewCell
равной высоте UICollectionView
, нужно выполнить следующие шаги:
1 2 3 4 |
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { // Возвращает желаемый размер ячейки коллекции return CGSize(width: desiredWidth, height: desiredHeight) } |
1 2 3 4 5 6 7 8 9 10 11 |
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { // Получить ячейку таблицы let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CustomTableViewCell // Вычислить размер ячейки таблицы на основе размера ячейки коллекции let collectionViewHeight = cell.collectionView.collectionViewLayout.collectionViewContentSize.height let size = cell.contentView.systemLayoutSizeFitting(CGSize(width: tableView.bounds.width, height: collectionViewHeight), withHorizontalFittingPriority: .required, verticalFittingPriority: .fittingSizeLevel) return size.height } |
1 2 3 4 5 |
override func awakeFromNib() { super.awakeFromNib() // Установить свойство translatesAutoresizingMaskIntoConstraints в false для UICollectionView collectionView.translatesAutoresizingMaskIntoConstraints = false } |
Эти шаги должны помочь вам сделать высоту UITableViewCell
равной высоте UICollectionView
.