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