मेरे पास 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नेविगेशन स्टैक पर डिटेल व्यू कंट्रोलर को पुश करने पर आपको बिल्कुल भी बदलने की जरूरत नहीं है , यह स्वचालित रूप से एक छोटे शीर्षक का उपयोग करेगा और जब तक मैं जानता हूं कि रूट व्यू कंट्रोलर पर वापस जाने के बाद वापस बड़े पर चला जाएगा।