Tôi có một UINavigationController
giá trị mặc định của nó navigationBar.prefersLargeTitles = true
.
Tôi đang chuyển đổi điều đó sang false
khi 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 DetailsViewController
tô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 . automatic
và bạn sẽ có được sự chuyển đổi mong muốn.
navigationController?.navigationItem.largeTitleDisplayMode = .automatic
.prefersLargeTitles
khi đẩ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