Tengo un UINavigationControllervalor predeterminado de es navigationBar.prefersLargeTitles = true.
Estoy cambiando eso a falsecuando entro push en una nueva escena, vamos a llamarlo ( DetailsViewController), cambiándolo a viewWillDisappear.
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.navigationBar.prefersLargeTitles = false
}
Ahora en DetailsViewControllerque estoy usando willMove(to parent:).
override func willMove(toParent parent: UIViewController?) {
navigationController?.navigationBar.prefersLargeTitles = true
}
Para volver a la transición a títulos grandes.
Observe las instantáneas adjuntas de cómo lo hace iOS 13 con cómo lo hace iOS 12 , teniendo en cuenta que iOS 12 es el comportamiento correcto.
iOS 13 :
iOS 12 :
largeTitleDisplayModea . automaticy deberías obtener la transición deseada.
navigationController?.navigationItem.largeTitleDisplayMode = .automatic


.prefersLargeTitlespara nada cuando empuja un controlador de vista detallada a la pila de navegación, usará automáticamente un título pequeño y luego volverá al grande una vez que regrese al controlador de vista raíz, que yo sepa