Я встановив декілька наборів обмежень в IB, і я хотів би програмно переключатися між ними залежно від певного стану. Є constraintsAколекція розеток, всі вони позначені як встановлені з IB, і constraintsBколекція розеток, всі з яких видалено в IB.
Я можу програмно переключатися між двома наборами так:
NSLayoutConstraint.deactivateConstraints(constraintsA)
NSLayoutConstraint.activateConstraints(constraintsB)
Але ... я не можу зрозуміти, коли це зробити. Здається, я повинен бути в змозі зробити це один раз viewDidLoad, але я не можу це працювати. Я намагався телефонувати view.updateConstraints()і view.layoutSubviews()після встановлення обмежень, але безрезультатно.
Я виявив, що якщо встановити обмеження, viewDidLayoutSubviewsвсе працює так, як очікувалося. Я думаю, я хотів би знати дві речі ...
- Чому я отримую таку поведінку?
- Чи можливо активувати / деактивувати обмеження з viewDidLoad?