0
J'essaye d'animer le changement de priorité dans 2 contraintes, mais je n'arrive pas à le faire fonctionner. Mon code d'animation, il est écrit que:L'animation de contrainte ne fonctionne pas
UIView.animate(withDuration: 0.2, animations: {
if self.cardHeaderBottomtoBodyTopConstraint.priority == UILayoutPriorityDefaultHigh {
self.cardHeaderBottomtoBodyTopConstraint.priority = UILayoutPriorityDefaultLow
self.cardHeaderBottomToBodyBottomConstraint.priority = UILayoutPriorityDefaultHigh
} else {
self.cardHeaderBottomtoBodyTopConstraint.priority = UILayoutPriorityDefaultHigh
self.cardHeaderBottomToBodyBottomConstraint.priority = UILayoutPriorityDefaultLow
}
self.flightInformationBodyCard.layoutIfNeeded()
self.flightInformationBodyCard.updateConstraints()
}, completion: nil)
changer la priorité et appeler updateConstraints avant d'appeler la UIView.animate et conserver uniquement layoutIfNeeded dans la fonction d'animation – zombie
Êtes-vous sûr que ces propriétés sont animables? – solenoid
https://stackoverflow.com/questions/42584375/can-all-constraints-in-swift-3-be-animé celui-ci dit de faire le changement de la disposition de l'appel à l'intérieur du bloc d'animation, ne pouvait pas trouver un exemple non constant , sera intéressé de voir si cela fonctionne – solenoid