私が持っているUINavigationController
それのデフォルト値とをnavigationBar.prefersLargeTitles = true
。
私はそれを切り替えていfalse
たとき、私push
の新しいシーンには、それを(呼び出すことができますDetailsViewController
にそれを変更することで、) viewWillDisappear
。
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.navigationBar.prefersLargeTitles = false
}
今DetailsViewController
は使っていwillMove(to parent:)
ます。
override func willMove(toParent parent: UIViewController?) {
navigationController?.navigationBar.prefersLargeTitles = true
}
大きなタイトルに戻すには。
iOS 12が正しい動作であることを考慮して、iOS 13がiOS 12がどのように実行しているかについて、添付のスナップショットを確認してください。
iOS 13:
iOS 12:
largeTitleDisplayMode
に。automatic
希望するトランジションが得られるはずです。
navigationController?.navigationItem.largeTitleDisplayMode = .automatic
.prefersLargeTitles
詳細ビューコントローラーをナビゲーションスタックにプッシュするときに変更する必要はありません。小さいタイトルが自動的に使用され、ルートビューコントローラーに戻ったら、大きいタイトルに戻ります。