Я ищу подход к реализации макета, как показано ниже:
По сути, он состоит из UICollectionViewCell
с экземпляр UITableView
внутри него. UICollectionViewCell
содержит несколько других дополнительных элементов, но они не имеют отношения к этому вопросу.
Я бы хотел, чтобы UITableView был полностью развернут, то есть показывал все ячейки. Я выбрал UITableView
, потому что он имеет именно тот стиль, который мне нужен.
Проблема в том, что UITableView
не раскрывается полностью. С технической точки зрения, я бы хотел, чтобы размер UITableView
был равен его contentSize
.
Я использую AutoLayout для вычисления UICollectionViewCell
размера, поэтому UITableView с изменяемым размером может пригодиться.
До сих пор я пробовал использовать этот подход:
import UIKit
final class FullSizeTableView: UITableView {
override var intrinsicContentSize: CGSize {
return contentSize
}
}
А затем используя FullSizeTableView
в UICollectionViewCell
:
Я ограничил UITableView
со всех 4 сторон, сверху до UIStackView
и снизу, слева и справа до ContentView
.
Однако результат выглядит так:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 4 /// Meanwhile, Returning 4 rows in the DataSource
}
Итак, я полагаю, AutoLayout, похоже, не учитывает фактический размер UITableView
. Какие могут быть потенциальные подводные камни, которые я не учитываю?
Моя цель для UITableView
- всегда полностью раскрывать и отображать в полном размере.
Обновление1:
Прокрутка уже отключена