我在IB中设置了多组约束,并且我想根据某种状态以编程方式在约束之间进行切换。有一个constraintsA
插座集合都标记为已从IB安装,而constraintsB
所有插座集合都已从IB 中卸载。
我可以通过编程方式在两组之间切换,如下所示:
NSLayoutConstraint.deactivateConstraints(constraintsA)
NSLayoutConstraint.activateConstraints(constraintsB)
但是...我不知道何时该做。看来我应该能够一次完成该操作viewDidLoad
,但是我无法使其正常工作。我已经打过电话view.updateConstraints()
,并view.layoutSubviews()
设置约束条件之后,但无济于事。
我确实发现,如果我在viewDidLayoutSubviews
所有工作中都按预期设置了约束,我想我想知道两件事...
- 为什么会出现这种情况?
- 是否可以从viewDidLoad激活/停用约束?