हम एक ऐसा एप्लिकेशन बना रहे हैं जिसके लिए विभिन्न नेविगेशन और टैब व्यू कंट्रोलर के माध्यम से जुड़े विभिन्न विचारों के लिए विभिन्न शीर्षलेखों की आवश्यकता होती है। प्रारंभिक दृश्य में शीर्षक के रूप में एक छवि है। दूसरे दृश्य में शीर्षक के रूप में टेक्स्ट है और तीसरे शीर्षक में शीर्षक भी है।आईओएस 11 पर नेविगेशन बार सामग्री क्यों दिख रही है लेकिन आईओएस 10 नहीं है?
हम इस एप्लिकेशन को बनाने के लिए स्टोरीबोर्ड का उपयोग कर रहे हैं, यहां नियंत्रकों का पदानुक्रम है।
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let titleView = UIImageView()
titleView.contentMode = .scaleAspectFit
titleView.image = UIImage(named: "logo_white_thin")
self.parent?.navigationItem.titleView = titleView
self.parent?.navigationController?.navigationBar.isHidden = false
self.navigationController?.navigationBar.isHidden = false
}
यहाँ कोड हम अन्य दो दृश्य नियंत्रकों के लिए शीर्षक के रूप में पाठ प्रदर्शित करने के लिए उपयोग है:
Navigation Controller --> Tab Bar Controller --> View Controller 1, View Controller 2, View Controller 3
यहाँ कोड हम पहली बार देखने नियंत्रक पर एक छवि प्रदर्शित करने के लिए इस्तेमाल करते हैं।
func title(text: String) -> UILabel {
let label = UILabel()
label.text = text
label.textColor = UIColor.white
label.font = UIFont.boldSystemFont(ofSize: label.font.pointSize)
return label
}
अब इस मुद्दे को, जब हम आईओएस 11 पर हमारे आवेदन का परीक्षण, नेविगेशन नियंत्रक ठीक से काम कर रहा है और सभी प्रकट होता है:
override func viewWillAppear(_ animated: Bool) {
guard let uid = Auth.auth().currentUser?.uid else {return}
guard let username = users[uid]?.username else {return}
self.parent?.navigationItem.titleView = title(text: username)
self.parent?.navigationController?.navigationBar.isHidden = false
self.navigationController?.navigationBar.isHidden = false
print("Setting navigation bar title to ", username)
}
शीर्षक समारोह एक लेबल वापस जाने के लिए बनाया गया एक विस्तार है कुंआ। जब हम आईओएस 10 पर हमारे आवेदन का परीक्षण करते हैं, तो नेविगेशन नियंत्रकों की छवि और पाठ जादुई रूप से गायब हो जाता है। कुछ पता है कि ऐसा क्यों हो रहा है? Picture of the issue. On the left, no title shows up (IOS 10) and on the right a title does show up (IOS 11)
मैं Xcode के नवीनतम संस्करण को स्विफ्ट के साथ पहले से कोई मदद के लिए चला रहा हूँ 4. धन्यवाद:
यहाँ क्या अप की एक छवि है।
() शीर्षक में लेबल के सेट फ्रेम विधि – iPatel
@iPatel साथ की कोशिश मैं नहीं इसकी विधि शीर्षक() के साथ कोई समस्या लगता है क्योंकि मैं भी एक दृश्य नियंत्रक जो शीर्षक एक है imageview और वह या तो प्रकट नहीं होगा ... – itsfaraaz