Ich habe einen UINavigationControllermit Standardwert davon navigationBar.prefersLargeTitles = true.
Ich schalte das auf, falsewenn ich push in eine neue Szene gehe, nennen wir es ( DetailsViewController), indem ich es in die ändere viewWillDisappear.
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.navigationBar.prefersLargeTitles = false
}
Jetzt DetailsViewControllerbenutze ich willMove(to parent:).
override func willMove(toParent parent: UIViewController?) {
navigationController?.navigationBar.prefersLargeTitles = true
}
Zurück zu großen Titeln.
Beachten Sie die angehängten Schnappschüsse, wie iOS 13 es mit iOS 12 macht, wenn man bedenkt, dass iOS 12 das richtige Verhalten ist.
iOS 13 :
iOS 12 :
largeTitleDisplayModezu. automaticund Sie sollten den gewünschten Übergang erhalten.
navigationController?.navigationItem.largeTitleDisplayMode = .automatic


.prefersLargeTitleswenn Sie einen Detailansichts-Controller in den Navigationsstapel verschieben. Er verwendet automatisch einen kleinen Titel und kehrt dann, soweit ich weiß, zum großen Titel zurück, sobald Sie zum Stammansichts-Controller zurückkehren