私が持っている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詳細ビューコントローラーをナビゲーションスタックにプッシュするときに変更する必要はありません。小さいタイトルが自動的に使用され、ルートビューコントローラーに戻ったら、大きいタイトルに戻ります。