UITableViewCell со встроенной вертикальной установкой Stack View с автоматической разметкой и динамической высотой - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь создать динамическую ячейку с использованием стекового представления, встроенного в ячейку, чтобы при добавлении элементов в ячейку высота ячейки адаптировалась к высоте представления стека, но не получала ожидаемых результатов, что означает, что я получаю амбициозные ограничения. Вот как установить настройки. У меня есть ячейка со встроенным представлением стека:

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?

}

Вот как выглядит перо:

enter image description here

в коде табличного представления у меня есть следующее:

 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)
}
}

1 Ответ

0 голосов
/ 29 апреля 2018

Кажется, ошибка была связана с привязкой нижней части стека к нижней части представления контента, вместо этого следует прикрепить нижнюю часть последнего представления стека к нижней части contentView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...