He configurado varios conjuntos de restricciones en IB, y me gustaría alternar programáticamente entre ellos dependiendo de algún estado. Hay una constraintsA
colección de puntos de venta que están marcados como instalados desde IB y una constraintsB
colección de puntos de venta que se desinstalan en IB.
Puedo alternar programáticamente entre los dos conjuntos así:
NSLayoutConstraint.deactivateConstraints(constraintsA)
NSLayoutConstraint.activateConstraints(constraintsB)
Pero ... no sé cuándo hacer eso. Parece que debería poder hacer eso una vez viewDidLoad
, pero no puedo hacer que funcione. Intenté llamar view.updateConstraints()
y view.layoutSubviews()
después de establecer las restricciones, pero fue en vano.
Descubrí que si establezco las restricciones en viewDidLayoutSubviews
todo funciona como se esperaba. Supongo que me gustaría saber dos cosas ...
- ¿Por qué tengo este comportamiento?
- ¿Es posible activar / desactivar restricciones desde viewDidLoad?