У меня есть UIStackView
с 5 подземельями. Я хочу иметь возможность анимировать ширину этих представлений, обновляя их intrinsicContentSize
или обновляя их ограничения. Как я могу сделать redView stackView после обновления макета subview?Как получить UIStackView для обновления его макета?
UIView.animateWithDuration(0.3, animations: {
viewToResize.compressed = true //changes intrinsicContentSize
viewToResize.invalidateIntrinsicContentSize()
self.stackView.layoutIfNeeded() //makes no difference
anotherSubview.hidden = true //adding this makes everything work
})
Я пробовал различные способы попытаться обновить stackView, но ничего не происходит. Единственный способ заставить его работать, если я покажу/скрываю другое подвью внутри блока анимации, то новый макет анимируется правильно, но я не хочу этого делать.
Я видел этот вопрос Animating UIStackView arrangedSubview content size change но предлагаемый ответ не работает (ничего не оживляет).
вы пробовали view.updateConstraints? –
Да, в stackView и subviews нет никакого эффекта. –