IB'de birden fazla kısıtlama seti kurdum ve bazı durumlara bağlı olarak bunlar arasında programlı olarak geçiş yapmak istiyorum. Orada bir var constraintsAIB yüklü olarak işaretlenmiş hepsi çıkış toplama ve constraintsBtüm çıkış toplama IB kaldırılır.
İki küme arasında programlı olarak şu şekilde geçiş yapabilirim:
NSLayoutConstraint.deactivateConstraints(constraintsA)
NSLayoutConstraint.activateConstraints(constraintsB)
Ama ... Bunu ne zaman yapacağımı bilemiyorum . Görünüşe göre bunu bir kez yapabilmeliyim viewDidLoadama işe yarayamıyorum. Aramayı view.updateConstraints()ve view.layoutSubviews()kısıtlamaları belirledikten sonra denedim , ancak boşuna.
Her şeydeki kısıtlamaları ayarlarsam viewDidLayoutSubviewsbeklendiği gibi çalıştığını buldum . Sanırım iki şeyi bilmek istiyorum ...
- Neden bu davranışı alıyorum?
- ViewDidLoad'dan kısıtlamaları etkinleştirmek / devre dışı bırakmak mümkün mü?