J'ai créé deux vues dans un superview, puis j'ai ajouté des contraintes entre les vues:
_indicatorConstrainWidth = [NSLayoutConstraint constraintWithItem:self.view1 attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.view2 attribute:NSLayoutAttributeWidth multiplier:1.0f constant:0.0f];
[_indicatorConstrainWidth setPriority:UILayoutPriorityDefaultLow];
_indicatorConstrainHeight = [NSLayoutConstraint constraintWithItem:self.view1 attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.view2 attribute:NSLayoutAttributeHeight multiplier:1.0f constant:0.0f];
[_indicatorConstrainHeight setPriority:UILayoutPriorityDefaultLow];
[self addConstraint:_indicatorConstrainWidth];
[self addConstraint:_indicatorConstrainHeight];
Maintenant, je veux changer la propriété du multiplicateur avec une animation, mais je ne peux pas comprendre comment changer la propriété du multiplicateur. (J'ai trouvé _coefficient dans la propriété privée dans le fichier d'en-tête NSLayoutConstraint.h, mais il est privé.)
Comment changer la propriété du multiplicateur?
Ma solution de contournement consiste à supprimer l'ancienne contrainte et à ajouter la nouvelle avec une valeur différente pour multipler
.