Ich habe einen Container-View-Controller und Kind View-Controller (ähnlich UITabViewController). Wenn zwischen der Sicht eines Kindes View-Controller-Übergang und eine andere Ansicht des Kindes View-Controller, ich bin mit:SubView Übergang Größenänderung nach dem Übergang
let oldView = // get reference to old view
let newView = // get reference to new view
UIView.transition(from: oldView!, to: newView!, duration: 0.3,
options: .transitionCrossDissolve, completion: nil)
Das Problem hier ist, dass die Änderung der Größe der NewView passiert, nachdem der Übergang Animation abgeschlossen ist, was unansehnlich aussieht.
Dieses fehlerhafte Verhalten tritt nur auf, wenn der neue untergeordnete Ansichtscontroller zum ersten Mal geladen wird. Es scheint, dass die Methode viewDidLayoutSubviews nur nach dem Übergang aufgerufen wird.
Wie bekomme ich die NewView vor dem Übergang und nicht nach der Größe geändert werden.
Dank Im Voraus.
Der Übergang selbst mit Auto-Layout funktioniert gut sein. Ich habe das gerade getestet. Sie müssen mehr von Ihrem Code anzeigen - insbesondere den Code, in dem Sie die untergeordneten Ansicht-Controller hinzufügen und einrichten. – Mischa
Wie wird die Größe der Ansicht des (neuen) untergeordneten Ansicht-Controllers an die Größe des Containers angepasst? – Mischa
Haben Sie versucht, 'func viewWillTransition (Größe: CGSize, mit Koordinator: UIViewControllerTransitionCoordinator)' zu überschreiben und fügen Sie Ihre Transition darin ein? –