コンテナビューコントローラと子ビューコントローラ(UITabViewControllerと同様)があります。 1つのビューコントローラのビューと別の子View Controllerのビュー間を移行するとき、私が使用しています:移行後のサブビュートランジションのサイズ変更
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)
ここでの問題は、遷移アニメーションが完了した後newViewのサイズ変更は見苦しいに見えるれ、起こるということです。
この悪い動作は、新しい子ビューコントローラが最初にのにロードされたときにのみ発生します。 viewDidLayoutSubviewsメソッドは、トランジションの後にのみ呼び出されるようです。
移行前と変更後にnewViewをサイズ変更する方法を教えてください。
ありがとうございました。あなたのViewController
オーバーライドfunc viewWillTransition
で
のようなものになります。私はちょうどそれをテストした。詳細なコードを表示する必要があります。特に、子ビューコントローラを追加して設定するコードが必要です。 – Mischa
(新しい)子ビューコントローラのビューをコンテナのサイズに合わせてどのようにサイズ変更しますか? – Mischa
あなたは 'func viewWillTransition(サイズ:CGSize、コーディネータ:UIViewControllerTransitionCoordinator)' をオーバーライドして、その内部にトランジションを追加しましたか? –