У меня есть UINavigationControllerзначение по умолчанию navigationBar.prefersLargeTitles = true.
Я переключаю это на то, falseкогда я push в новую сцену, давайте вызывать его ( DetailsViewController), изменяя его на viewWillDisappear.
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.navigationBar.prefersLargeTitles = false
}
Сейчас DetailsViewControllerя использую willMove(to parent:).
override func willMove(toParent parent: UIViewController?) {
navigationController?.navigationBar.prefersLargeTitles = true
}
Для перехода к большим заголовкам.
Обратите внимание на прикрепленные снимки того, как iOS 13 делает это с тем, как iOS 12 делает это, считая, что iOS 12 - это правильное поведение.
iOS 13 :
iOS 12 :
largeTitleDisplayModeк automaticи вы должны получить желаемый переход.
navigationController?.navigationItem.largeTitleDisplayMode = .automatic


.prefersLargeTitlesкогда вы перемещаете контроллер подробного вида в стек навигации, он автоматически использует маленький заголовок и затем возвращается к большому, как только вы вернетесь к контроллеру корневого представления, насколько я знаю.