J'ai une UINavigationController
valeur par défaut de c'est navigationBar.prefersLargeTitles = true
.
Je passe cela à false
quand je push
dans une nouvelle scène permet de l'appeler ( DetailsViewController
), en le changeant en viewWillDisappear
.
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.navigationBar.prefersLargeTitles = false
}
Maintenant, DetailsViewController
j'utilise willMove(to parent:)
.
override func willMove(toParent parent: UIViewController?) {
navigationController?.navigationBar.prefersLargeTitles = true
}
Pour revenir aux grands titres.
Observez les instantanés ci-joints de la façon dont iOS 13 le fait avec la façon dont iOS 12 le fait, étant donné que iOS 12 est le comportement correct.
iOS 13 :
iOS 12 :
largeTitleDisplayMode
à . automatic
et vous devriez obtenir la transition souhaitée.
navigationController?.navigationItem.largeTitleDisplayMode = .automatic
.prefersLargeTitles
du tout lorsque vous poussez un contrôleur de vue de détail vers la pile de navigation, il utilisera automatiquement un petit titre, puis reviendra au grand une fois que vous reviendrez au contrôleur de vue racine, pour autant que je sache