Когда я могу активировать / деактивировать ограничения макета?
Я установил несколько наборов ограничений в IB, и я хотел бы программно переключаться между ними в зависимости от некоторого состояния. ЕстьconstraintsA
коллекция розеток, все из которых помечены как установленные из IB, иconstraintsB
сборник розеток, все из которых удалены в IB.
Я могу программно переключаться между двумя наборами так:
NSLayoutConstraint.deactivateConstraints(constraintsA)
NSLayoutConstraint.activateConstraints(constraintsB)
Но ... я не могу понять,когда сделать это. Кажется, я должен быть в состоянии сделать это один раз вviewDidLoad
, но я не могу заставить это работать. Я пробовал звонитьview.updateConstraints()
а такжеview.layoutSubviews()
после установки ограничений, но безрезультатно.
Я обнаружил, что если я установлю ограничения вviewDidLayoutSubviews
все работает как положено. Я думаю, я хотел бы знать две вещи ...