Mam UINavigationController
domyślną wartość tego navigationBar.prefersLargeTitles = true
.
Zmieniam to na, false
kiedy push
przechodzę do nowej sceny, pozwala to nazwać ( DetailsViewController
), zmieniając ją na viewWillDisappear
.
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.navigationBar.prefersLargeTitles = false
}
Teraz DetailsViewController
używam willMove(to parent:)
.
override func willMove(toParent parent: UIViewController?) {
navigationController?.navigationBar.prefersLargeTitles = true
}
Aby wrócić do dużych tytułów.
Przestrzegać dołączonych migawek w jaki iOS 13 robi to z jak iOS 12 robi to, biorąc pod uwagę iOS 12 jest poprawne zachowanie.
iOS 13 :
iOS 12 :
largeTitleDisplayMode
do . automatic
i powinieneś uzyskać pożądane przejście.
navigationController?.navigationItem.largeTitleDisplayMode = .automatic
.prefersLargeTitles
Wciskając kontroler widoku szczegółów do stosu nawigacyjnego, nie musisz się wcale zmieniać , automatycznie użyje małego tytułu, a następnie wróci do dużego, gdy wrócisz do kontrolera widoku głównego, o ile wiem.