Ho un UIStackView
con 5 subviews. Voglio essere in grado di animare la larghezza di queste sottoview aggiornando il loro intrinsicContentSize
o aggiornando i loro vincoli. Come posso ridisegnare lo stackView dopo aver aggiornato il layout della subview?Come posso ottenere un UIStackView per aggiornare il layout?
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
})
Ho provato vari modi per cercare di aggiornare lo stackView, ma non succede nulla. L'unico modo per farlo funzionare è se mostro/nascondi un'altra sottoview all'interno del blocco di animazione, quindi il nuovo layout è animato correttamente, ma non voglio farlo.
ho visto questa domanda Animating UIStackView arrangedSubview content size change ma la risposta suggerita non funziona (niente di anima).
hai provato view.updateConstraints? –
Sì, nello stackView e nelle sottoview, nessuno dei due ha alcun effetto. –