Tôi có một UINavigationControllergiá trị mặc định của nó navigationBar.prefersLargeTitles = true.
Tôi đang chuyển đổi điều đó sang falsekhi tôi push vào một cảnh mới, hãy gọi nó ( DetailsViewController), bằng cách thay đổi nó thành viewWillDisappear.
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.navigationBar.prefersLargeTitles = false
}
Bây giờ trong DetailsViewControllertôi đang sử dụng willMove(to parent:).
override func willMove(toParent parent: UIViewController?) {
navigationController?.navigationBar.prefersLargeTitles = true
}
Để chuyển trở lại các tiêu đề lớn.
Quan sát các ảnh chụp nhanh đính kèm về cách iOS 13 thực hiện với cách iOS 12 thực hiện, coi iOS 12 là hành vi chính xác.
iOS 13 :
iOS 12 :
largeTitleDisplayModeđến . automaticvà bạn sẽ có được sự chuyển đổi mong muốn.
navigationController?.navigationItem.largeTitleDisplayMode = .automatic


.prefersLargeTitleskhi đẩy bộ điều khiển chế độ xem chi tiết sang ngăn điều hướng, nó sẽ tự động sử dụng một tiêu đề nhỏ và sau đó quay lại cái lớn sau khi bạn quay lại trình điều khiển xem gốc, theo như tôi biết