Я пытаюсь создать динамическую ячейку с использованием стекового представления, встроенного в ячейку, чтобы при добавлении элементов в ячейку высота ячейки адаптировалась к высоте представления стека, но не получала ожидаемых результатов, что означает, что я получаю амбициозные ограничения.
Вот как установить настройки. У меня есть ячейка со встроенным представлением стека:
class MyCell: UITableViewCell {
override var reuseIdentifier: String? {
return "cell"
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
@IBOutlet public weak var stack: UIStackView?
}
Вот как выглядит перо:
в коде табличного представления у меня есть следующее:
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! MyCell
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(2)) {
for _ in 0...10 {
let view = MyView()
cell.stack!.addArrangedSubview(view)
}
}
return cell
}
где MyView:
class MyView: UIView {
override var intrinsicContentSize: CGSize {
setContentHuggingPriority(.defaultHigh, for: .vertical)
backgroundColor = .blue
return CGSize(width: 50, height: 50)
}
}