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