Eu tenho um UINavigationControllercom o valor padrão dele navigationBar.prefersLargeTitles = true.
Estou mudando isso para falsequando push entrar em uma nova cena, vamos chamá-lo ( DetailsViewController), alterando-o para viewWillDisappear.
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.navigationBar.prefersLargeTitles = false
}
Agora DetailsViewControllerestou usando willMove(to parent:).
override func willMove(toParent parent: UIViewController?) {
navigationController?.navigationBar.prefersLargeTitles = true
}
Para voltar para títulos grandes.
Observe os instantâneos anexados de como o iOS 13 faz isso com o iOS 12 , considerando que o iOS 12 é o comportamento correto.
iOS 13 :
iOS 12 :
largeTitleDisplayModepara . automatice você deve obter a transição desejada.
navigationController?.navigationItem.largeTitleDisplayMode = .automatic


.prefersLargeTitlesnada ao empurrar um controlador de exibição de detalhes para a pilha de navegação, ele usará automaticamente um título pequeno e depois voltará para o grande quando voltar ao controlador de exibição raiz, tanto quanto eu sei