IBで複数の制約セットを設定しましたが、状態によってプログラムでそれらを切り替えたいのですが。ありますconstraintsAIBからインストールとしてマークされているすべてのそれらの出口コレクションは、およびconstraintsBすべての出口コレクションは、IBにアンインストールされます。
次のように、プログラムで2つのセットを切り替えることができます。
NSLayoutConstraint.deactivateConstraints(constraintsA)
NSLayoutConstraint.activateConstraints(constraintsB)しかし... いつそれをするべきかわからない。で一度はできるはずですが、うまくviewDidLoadいきません。私は呼び出ししようとしたview.updateConstraints()とview.layoutSubviews()制約を設定した後、しかし無駄に。
viewDidLayoutSubviewsすべてに制約を設定すると、期待どおりに機能することがわかりました。2つのことを知りたいと思います...
- なぜこの動作になるのですか?
- viewDidLoadから制約をアクティブ化/非アクティブ化することは可能ですか?