Ich habe einen UINavigationController
mit Standardwert davon navigationBar.prefersLargeTitles = true
.
Ich schalte das auf, false
wenn 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 DetailsViewController
benutze 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 :
largeTitleDisplayMode
zu. automatic
und Sie sollten den gewünschten Übergang erhalten.
navigationController?.navigationItem.largeTitleDisplayMode = .automatic
.prefersLargeTitles
wenn 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