В моей ячейке tableView у меня есть массив строк из API, который я использую для определения высоты стека в зависимости от количества элементов массива.Массив может иметь 3, 4 или X элементов.
var pollDataInPollCell: PollModel? {
didSet{
if let pollOptions = pollDataInPollCell?.poll_detail{
// pollOptions = ["A", "B"] or ["A", "XS", "XSMAX"]
optionBtnStackView.heightAnchor.constraint(equalToConstant: CGFloat(30 * pollOptions.count).isActive = true
}
var optionBtnStackView: UIStackView = {
let sv = UIStackView()
sv.axis = .vertical
sv.distribution = .fillEqually
return sv
}()
Все отлично работает при запуске.Высота stackView для каждой строки выглядит безупречно, и ограничений нет.Однако, если я прокручиваю вверх и вниз табличное представление, моя высота stackView больше не является той же самой, и я полагаю, что это происходит из-за tableView dequeueReusableCell.Мой вопрос заключается в том, можно ли сбросить мою высоту stackView в didSet, чтобы он мог отображать новую высоту.Я пробовал это в didSet
optionBtnStackView.heightAnchor.constraint(equalToConstant: 0).isActive = true
optionBtnStackView.heightAnchor.constraint(equalToConstant: CGFloat(30 * pollOptions.count).isActive = true
или
optionBtnStackView.heightAnchor.constraint(equalToConstant: CGFloat(30 * pollOptions.count).isActive = false
optionBtnStackView.heightAnchor.constraint(equalToConstant: CGFloat(30 * pollOptions.count).isActive = true
, но оба не решают мою проблему.Какие-либо предложения?Большое вам спасибо.