J'ai mis en place plusieurs ensembles de contraintes dans IB et j'aimerais basculer entre eux par programmation en fonction d'un état. Il y a une constraintsA
collection de points de vente qui sont tous marqués comme installés à partir d'IB et une constraintsB
collection de points de vente qui sont tous désinstallés dans IB.
Je peux basculer par programmation entre les deux ensembles comme ceci:
NSLayoutConstraint.deactivateConstraints(constraintsA)
NSLayoutConstraint.activateConstraints(constraintsB)
Mais ... je ne sais pas quand faire ça. Il semble que je devrais pouvoir le faire une fois viewDidLoad
, mais je ne peux pas le faire fonctionner. J'ai essayé d'appeler view.updateConstraints()
et view.layoutSubviews()
après avoir défini les contraintes, mais en vain.
J'ai trouvé que si je définissais les contraintes dans viewDidLayoutSubviews
tout fonctionne comme prévu. Je suppose que j'aimerais savoir deux choses ...
- Pourquoi ai-je ce comportement?
- Est-il possible d'activer / désactiver les contraintes de viewDidLoad?