Ich habe in IB mehrere Sätze von Einschränkungen eingerichtet und möchte je nach Status programmgesteuert zwischen diesen wechseln. Es gibt eine constraintsA
Outlet-Sammlung, die alle als von IB installiert markiert sind, und eine constraintsB
Outlet-Sammlung, die alle in IB deinstalliert sind.
Ich kann programmgesteuert zwischen den beiden Sätzen umschalten:
NSLayoutConstraint.deactivateConstraints(constraintsA)
NSLayoutConstraint.activateConstraints(constraintsB)
Aber ... ich kann nicht herausfinden, wann ich das tun soll. Es scheint, als sollte ich das einmal tun können viewDidLoad
, aber ich kann das nicht zum Laufen bringen. Ich habe versucht anzurufen view.updateConstraints()
und view.layoutSubviews()
nach dem Festlegen der Einschränkungen, aber ohne Erfolg.
Ich habe festgestellt, dass, wenn ich die Einschränkungen in viewDidLayoutSubviews
allem festlege, alles wie erwartet funktioniert. Ich würde gerne zwei Dinge wissen ...
- Warum bekomme ich dieses Verhalten?
- Ist es möglich, Einschränkungen in viewDidLoad zu aktivieren / deaktivieren?