Ho un UINavigationController
valore predefinito di esso navigationBar.prefersLargeTitles = true
.
Lo sto passando a false
quando sono push
in una nuova scena che consente di chiamarlo ( DetailsViewController
), cambiandolo in viewWillDisappear
.
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.navigationBar.prefersLargeTitles = false
}
Ora DetailsViewController
sto usando willMove(to parent:)
.
override func willMove(toParent parent: UIViewController?) {
navigationController?.navigationBar.prefersLargeTitles = true
}
Per tornare a titoli di grandi dimensioni.
Osserva le istantanee allegate di come iOS 13 lo fa con come iOS 12 lo sta facendo, considerando che iOS 12 è il comportamento corretto.
iOS 13 :
iOS 12 :
largeTitleDisplayMode
per . automatic
e dovresti ottenere la transizione desiderata.
navigationController?.navigationItem.largeTitleDisplayMode = .automatic
.prefersLargeTitles
nulla quando si spinge un controller di visualizzazione dettagli nello stack di navigazione, utilizzerà automaticamente un titolo piccolo e poi tornerà a quello grande una volta tornato al controller di visualizzazione radice, per quanto ne so