Mam kontroler widoku kontenera i kontrolki podrzędne (podobne do UITabViewController). Podczas przechodzenia pomiędzy widokiem z jednego kontrolera widoku dziecko i widokiem innego dziecka widok kontrolera używam:Zmiana przejścia SubView po zmianie stanu
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)
Problem tutaj jest to, że zmiana nazwy newView dzieje się po zakończeniu animacji przejścia, co wygląda nieestetycznie.
To złe zachowanie występuje tylko wtedy, gdy nowy kontroler widoku podrzędnego jest ładowany po raz pierwszy. Wygląda na to, że metoda viewDidLayoutSubviews jest wywoływana tylko po przejściu.
Jak zmienić rozmiar newView PRZED przejściem, a nie po.
Dzięki Wcześniej.
Przejście sama działa dobrze z Auto Layout. Właśnie to przetestowałem. Musisz pokazać więcej kodu - zwłaszcza kod, w którym dodajesz i konfigurujesz kontrolki widoku podrzędnego. – Mischa
Jak zmienić rozmiar (nowego) widoku kontrolera widoku podrzędnego, aby dopasować go do rozmiaru kontenera? – Mischa
Czy próbowałeś przesłonić 'func viewWillTransition (na rozmiar: CGSize, z koordynatorem: UIViewControllerTransitionCoordinator)' i dodać przejście wewnątrz niego? –