Tengo un UINavigationController
valor predeterminado de es navigationBar.prefersLargeTitles = true
.
Estoy cambiando eso a false
cuando 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 DetailsViewController
que 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 :
largeTitleDisplayMode
a . automatic
y deberías obtener la transición deseada.
navigationController?.navigationItem.largeTitleDisplayMode = .automatic
.prefersLargeTitles
para 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