J'ai modifié par programme une contrainte de mise en page automatique. Il prend effet sur une certaine vue, mais les autres vues liées à d'autres contraintes sur cette vue ne modifient pas leur position. Existe-t-il une méthode "pdateAllConstraints"?
Le problème était que les contraintes n'étaient pas configurées correctement, et dans ce cas, aucun des éléments setNeedsLayout ou updateConstraintsIfNeeded ne peut aider.
Appelez ces deux méthodes sur la vue que vous souhaitez mettre à jour:
-setNeedsLayout
-layoutIfNeeded
Le premier dit au système de mise en page que cette vue doit être présentée, car elle a des changements et tout doit être recalculé. La seconde force le système de mise en page à s'exécuter maintenant, le système de mise en page est déclenché à des moments spécifiques pendant l'exécution, avec cette méthode vous dites: "faites-le maintenant".
Oui Il existe une méthode sur UIView appelée - (void)updateConstraintsIfNeeded
Mais je ne pense pas que ce soit votre problème